Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/python
|
||||
# This Python file uses the following encoding: utf-8
|
||||
|
||||
import sys
|
||||
from collections import OrderedDict
|
||||
|
||||
|
||||
def readBarcodes(filename):
|
||||
"""Create a dictionary { name, MSE-name : barcode }."""
|
||||
ret = OrderedDict()
|
||||
|
||||
with open(filename, "r") as f:
|
||||
lines = f.read().split("\n")
|
||||
cols = lines[0].strip().split(',')
|
||||
|
||||
assert cols[1].lower() == "name"
|
||||
#assert cols[2].lower() == "main_structure_element_id"
|
||||
assert cols[3].lower() == "main_name"
|
||||
assert cols[4].lower() == "barcode"
|
||||
|
||||
rows = [line.strip() for line in lines[1:] if line.strip() != ""]
|
||||
for row in rows:
|
||||
items = row.split(",")
|
||||
ret[items[1], items[3]] = items[4]
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
def appendBarcodeUpdates(outputFile, barcodes):
|
||||
"""Append an SQL UPDATE statement for barcodes."""
|
||||
lines = []
|
||||
for key in barcodes.keys():
|
||||
name, main_name = key
|
||||
update = "UPDATE ism.ism_structure_element SET barcode = '%s' WHERE main_structure_element_id = (SELECT id FROM ism.ism_main_structure_element WHERE name = '%s') AND name = '%s';" % (barcodes[key], main_name, name)
|
||||
lines.append(update)
|
||||
|
||||
with open(outputFile, "w") as f:
|
||||
for line in lines:
|
||||
f.write(line + "\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
barcodeFile = sys.argv[1]
|
||||
barcodes = readBarcodes(barcodeFile)
|
||||
|
||||
sqlOutputFile = sys.argv[2]
|
||||
appendBarcodeUpdates(sqlOutputFile, barcodes)
|
||||
Reference in new issue
Block a user