"versions=", vers_cnstr, ) if sys.version_info < (3, 0): request = raw_input("Do you want to proceed? Y/N \n") else: request = input("Do you want to proceed? Y/N \n") if request == "Y": if not admin: # if not admin write date/e-mail/message and list of version ids to file fout = open( outdir + "warning_" + os.environ["USER"] + "_" + datetime.now().strftime("%Y%m%dT%H%M") + ".txt", "w", ) fout.write(",".join([datetime.now().strftime("%Y%m%d"), email, warning])) fout.write("," + ",".join([str(v.id) for v in db_results])) fout.close() else: # if admin add warning directly to database, commit happens in function for v in db_results: insert_unique( db, VersionWarning, **{ "version_id": v.id, "warning": warning, "added_by": email, "added_on": datetime.now().strftime("%Y%m%d"), } )
for inst in instances: # call file_details to retrieve experiment, variable, model etc. from filename # call drs_details to retrieve model, experiment, freq. & realm (become mip), variable, ensemble from drstree path # return dictionary # could i create an Instance, Version and file object instead and pass that on? kw_instance={} kw_version={} kw_files={} frequency, kw_instance = drs_details(inst) kw_instance['mip'] = get_mip(inst) #print(kw_instance) # make sure details list isn't empty if kw_instance: versions = list_drs_versions(inst) # add instance to db if not already existing inst_obj,new = insert_unique(db, Instance, **kw_instance) print(inst) print(inst_obj.id,new) #P use following two lines if tmp/tree #kw_version['version'] = find_version(bits[:-1], version) #kw_version['path'] = '/'.join(bits[:-1]) kw_version['instance_id'] = inst_obj.id for v in versions: # add version to db if not already existing kw_version['version'] = v files = list_drs_files(inst+"/"+v) kw_version['path'] = tree_path("/".join([inst,v,files[0]])) #print(kw_version.items()) v_obj,new = insert_unique(db, Version, **kw_version) print(v) print(v_obj.id,new)