about summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorPeter Amstutz2020-07-17 17:59:16 -0400
committerPeter Amstutz2020-07-17 17:59:16 -0400
commit6e6afb4b6be3f2f2c1b8b56d85d8c2089f709d26 (patch)
treebefe97990456b6af74771cc4bbd21f91bc41c97a /scripts
parentb34f5f42b9bd7a522b9d9b22d736998c4815d9e7 (diff)
downloadbh20-seq-resource-6e6afb4b6be3f2f2c1b8b56d85d8c2089f709d26.tar.gz
bh20-seq-resource-6e6afb4b6be3f2f2c1b8b56d85d8c2089f709d26.tar.lz
bh20-seq-resource-6e6afb4b6be3f2f2c1b8b56d85d8c2089f709d26.zip
Comment out some broken links for now
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cleanup.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/scripts/cleanup.py b/scripts/cleanup.py
index 78f34c8..6919305 100644
--- a/scripts/cleanup.py
+++ b/scripts/cleanup.py
@@ -1,7 +1,13 @@
 import arvados
 import arvados.util
+import arvados.keep
+import ruamel.yaml
 
 api = arvados.api()
+keepclient = arvados.keep.KeepClient(api_client=api)
+
+UPLOADER_PROJECT = 'lugli-j7d0g-n5clictpuvwk8aa'
+VALIDATED_PROJECT = 'lugli-j7d0g-5ct8p1i1wrgyjvp'
 
 delete_patterns = [
     "%missing%`collection_location`%",
@@ -21,7 +27,7 @@ revalidate_patterns = [
 
 for p in delete_patterns:
     c = arvados.util.list_all(api.collections().list, filters=[
-        ["owner_uuid", "=", "lugli-j7d0g-n5clictpuvwk8aa"],
+        ["owner_uuid", "=", UPLOADER_PROJECT],
         ["properties.errors", "like", p]])
     for i in c:
         print("trashing %s %s" % (i["uuid"], i["properties"].get("sequence_label")))
@@ -29,7 +35,7 @@ for p in delete_patterns:
 
 for p in revalidate_patterns:
     c = arvados.util.list_all(api.collections().list, filters=[
-        ["owner_uuid", "=", "lugli-j7d0g-n5clictpuvwk8aa"],
+        ["owner_uuid", "=", UPLOADER_PROJECT],
         ["properties.errors", "like", p]])
     for i in c:
         print("clearing status %s %s" % (i["uuid"], i["properties"].get("sequence_label")))
@@ -39,3 +45,16 @@ for p in revalidate_patterns:
         if "errors" in pr:
             del pr["errors"]
         api.collections().update(uuid=i["uuid"], body={"properties": pr}).execute()
+
+c = arvados.util.list_all(api.collections().list, filters=[
+    ["owner_uuid", "=", VALIDATED_PROJECT],
+    ["properties.sequence_label", "exists", False]])
+for i in c:
+    col = arvados.collection.Collection(i["uuid"], api_client=api, keep_client=keepclient)
+    with col.open("metadata.yaml") as md:
+        metadata_content = ruamel.yaml.round_trip_load(md)
+    colprop = col.get_properties()
+    colprop["sequence_label"] = metadata_content["sample"]["sample_id"]
+
+    print("fixing sequence label %s %s" % (i["uuid"], colprop.get("sequence_label")))
+    api.collections().update(uuid=i["uuid"], body={"properties": colprop}).execute()