11import csv
2- import girder_client
2+ from girder_client import GirderClient
33import requests
44import json
5-
6-
7- gc = girder_client .GirderClient (apiUrl = 'http://localhost:8080/api/v1' )
8- gc .authenticate ('girder' , 'girder' )
9- parent = gc .resourceLookup ('collection/ResonantEco/datasets/JGI' )
10-
11- lookup_table = {}
12- with open ('envo_lookup.json' , 'r' ) as f :
13- lookup_table = json .load (f )
14- print (lookup_table )
5+ import sys
156
167
178def lookup_envo_number (envo ):
9+ with open ('envo_lookup.json' , 'r' ) as f :
10+ lookup_table = json .load (f )
11+
1812 if envo in lookup_table :
1913 return lookup_table [envo ]
2014 response = requests .get ('https://www.ebi.ac.uk/ols/api/select' ,
@@ -28,10 +22,11 @@ def lookup_envo_number(envo):
2822 return None
2923
3024
31- def create_item_from_row (row ):
25+ def create_item_from_row (row , gc ):
3226 if not row [7 ]:
3327 return
3428 print ("Ingesting {}" .format (row [0 ]))
29+ parent = gc .resourceLookup ('collection/ResonantEco/datasets/JGI' )
3530 item = gc .createItem (parent ['_id' ], row [0 ], reuseExisting = True )
3631 latitude = None
3732 longitude = None
@@ -54,15 +49,24 @@ def create_item_from_row(row):
5449 gc .addMetadataToItem (item ['_id' ], {'meta' : metadata })
5550
5651
57- def create_items_from_csv (path ):
52+ def create_items_from_csv (path , gc ):
5853 with open (path ) as csvfile :
5954 reader = csv .reader (csvfile , delimiter = ',' )
6055 next (reader )
6156 for row in reader :
62- create_item_from_row (row )
57+ create_item_from_row (row , gc )
6358
6459
6560if __name__ == '__main__' :
66- create_items_from_csv ('./jgi_data/NMDC_metadata_datasets - NMDC_datasets_metadata.csv' )
61+ if len (sys .argv ) < 5 :
62+ sys .exit ('Sample call: python ingest.py ./data localhost 8080 admin letmein' )
63+ data_dir = sys .argv [1 ]
64+ host = sys .argv [2 ]
65+ port = sys .argv [3 ]
66+ user = sys .argv [4 ]
67+ password = sys .argv [5 ]
68+ gc = GirderClient (apiUrl = 'http://{}:{}/api/v1' .format (host , port ))
69+ gc .authenticate (user , password )
70+ create_items_from_csv ('./jgi_data/NMDC_metadata_datasets - NMDC_datasets_metadata.csv' , gc )
6771 # with open("envo_lookup.json", "w") as f:
6872 # f.write(json.dumps(lookup_table))
0 commit comments