aboutsummaryrefslogtreecommitdiff
path: root/bh20sequploader/qc_metadata.py
diff options
context:
space:
mode:
authorPeter Amstutz2020-07-05 21:33:26 +0000
committerPeter Amstutz2020-07-05 21:33:26 +0000
commit4f30e506055acb788a1ff1bbcb6359c4413a4eab (patch)
tree08d564d00b19a71fe670588880f30225d7cb442d /bh20sequploader/qc_metadata.py
parentdd0ff95c6973953542cc3a275be2b057b30ff577 (diff)
downloadbh20-seq-resource-4f30e506055acb788a1ff1bbcb6359c4413a4eab.tar.gz
bh20-seq-resource-4f30e506055acb788a1ff1bbcb6359c4413a4eab.tar.lz
bh20-seq-resource-4f30e506055acb788a1ff1bbcb6359c4413a4eab.zip
Add bh20-seq-analyzer --print-status
Get status from new property "status: validated/rejected" Also store QC fail error message.
Diffstat (limited to 'bh20sequploader/qc_metadata.py')
-rw-r--r--bh20sequploader/qc_metadata.py21
1 files changed, 7 insertions, 14 deletions
diff --git a/bh20sequploader/qc_metadata.py b/bh20sequploader/qc_metadata.py
index 9122ace..2b57991 100644
--- a/bh20sequploader/qc_metadata.py
+++ b/bh20sequploader/qc_metadata.py
@@ -21,20 +21,13 @@ def qc_metadata(metadatafile):
shex = pkg_resources.resource_stream(__name__, "bh20seq-shex.rdf").read().decode("utf-8")
if not isinstance(avsc_names, schema_salad.avro.schema.Names):
- print(avsc_names)
- return False
+ raise Exception(avsc_names)
- try:
- doc, metadata = schema_salad.schema.load_and_validate(document_loader, avsc_names, metadatafile, True)
- g = schema_salad.jsonld_context.makerdf("workflow", doc, document_loader.ctx)
- rslt, reason = evaluate(g, shex, doc["id"], "https://raw.githubusercontent.com/arvados/bh20-seq-resource/master/bh20sequploader/bh20seq-shex.rdf#submissionShape")
+ doc, metadata = schema_salad.schema.load_and_validate(document_loader, avsc_names, metadatafile, True)
+ g = schema_salad.jsonld_context.makerdf("workflow", doc, document_loader.ctx)
+ rslt, reason = evaluate(g, shex, doc["id"], "https://raw.githubusercontent.com/arvados/bh20-seq-resource/master/bh20sequploader/bh20seq-shex.rdf#submissionShape")
- if not rslt:
- log.debug(reason)
- print(reason)
+ if not rslt:
+ raise Exception(reason)
- return rslt
- except Exception as e:
- traceback.print_exc()
- log.warn(e)
- return False
+ return True