def update_zbl_record_citations(self, record): """Updates id format in CI field (citations).""" if not record.has_key("ci"): return record #unpacking: cis = zbl_io.unpack_list_of_dictionaries(record["ci"]) #updating: for ci in cis: if ci.has_key('zbl'): new_id = self.map_zbl_id(ci['zbl']) if not new_id is None: ci['zbl'] = new_id ci['zbl'] = self.fix_id(ci['zbl']) #packing & overwriting: record["ci"] = zbl_io.pack_list_of_dictionaries(cis) return record
except: print "Second argument expected: output-zbl-file-path (Pseudo-ZBL)" sys.exit(-1) print "src = ", main_zbl_path print "dst = ", out_path cimatch = CitationMatcher(main_zbl_path) fout = open(out_path, "w") main_counter = 0 start_time = time.clock() for record in zbl_io.read_zbl_records( open(main_zbl_path, 'r') ): #update citations: if record.has_key("ci"): cis = zbl_io.unpack_list_of_dictionaries(record["ci"]) for ci in cis: ci = cimatch.add_citation_identity(ci) record["ci"] = zbl_io.pack_list_of_dictionaries(cis) #write output: zbl_io.write_zbl_record(fout, record) fout.write("\n") #progress bar: if main_counter%10000 == 0: print (time.clock() - start_time),"s - ",main_counter, "processed,", (cimatch.matched),"matched",(cimatch.missed),"missed" main_counter = main_counter + 1 fout.close() print "missed=",(cimatch.missed) print "matched=",(cimatch.matched)
except: print "Second argument expected: output-zbl-file-path (Pseudo-ZBL)" sys.exit(-1) print "src = ", main_zbl_path print "dst = ", out_path cimatch = CitationMatcher(main_zbl_path) fout = open(out_path, "w") main_counter = 0 start_time = time.clock() for record in zbl_io.read_zbl_records(open(main_zbl_path, 'r')): #update citations: if record.has_key("ci"): cis = zbl_io.unpack_list_of_dictionaries(record["ci"]) for ci in cis: ci = cimatch.add_citation_identity(ci) record["ci"] = zbl_io.pack_list_of_dictionaries(cis) #write output: zbl_io.write_zbl_record(fout, record) fout.write("\n") #progress bar: if main_counter % 10000 == 0: print(time.clock() - start_time), "s - ", main_counter, "processed,", ( cimatch.matched), "matched", (cimatch.missed), "missed" main_counter = main_counter + 1 fout.close() print "missed=", (cimatch.missed)