def ieee_doi_get_parser(doi_number): """ Method to parse the publication details from IEEE website into a dictionary object, given the DOI number """ out_file = "data/ieee_doi_get.xml" fout = open(out_file, "w") print >> fout, IEEE.ieee_doi_get(doi_number, kind="xml").encode('utf-8') fout.close() tree = ET.parse(out_file) root_element = tree.getroot() publication = {} for child1 in root_element: if (child1.tag == 'document'): for child2 in child1: if (child2.tag == 'rank'): publication['rank'] = child2.text elif (child2.tag == 'title'): publication['title'] = child2.text elif (child2.tag == 'authors'): publication['authors'] = IEEE_Parser.format_names_list( child2.text) elif (child2.tag == 'pubtitle'): publication['pubtitle'] = child2.text elif (child2.tag == 'punumber'): publication['pubnumber'] = child2.text elif (child2.tag == 'pubtype'): publication['pubtype'] = child2.text elif (child2.tag == 'publisher'): publication['publisher'] = child2.text elif (child2.tag == 'py'): publication['pubyear'] = child2.text elif (child2.tag == 'isbn'): publication['isbn'] = child2.text elif (child2.tag == 'arnumber'): publication['arnumber'] = child2.text elif (child2.tag == 'doi'): publication['doi'] = child2.text elif (child2.tag == 'publicationId'): publication['publicationId'] = child2.text return publication
def ieee_doi_get_parser(doi_number): """ Method to parse the publication details from IEEE website into a dictionary object, given the DOI number """ out_file = "data/ieee_doi_get.xml" fout = open(out_file, "w") print >> fout, IEEE.ieee_doi_get(doi_number, kind="xml").encode("utf-8") fout.close() tree = ET.parse(out_file) root_element = tree.getroot() publication = {} for child1 in root_element: if child1.tag == "document": for child2 in child1: if child2.tag == "rank": publication["rank"] = child2.text elif child2.tag == "title": publication["title"] = child2.text elif child2.tag == "authors": publication["authors"] = IEEE_Parser.format_names_list(child2.text) elif child2.tag == "pubtitle": publication["pubtitle"] = child2.text elif child2.tag == "punumber": publication["pubnumber"] = child2.text elif child2.tag == "pubtype": publication["pubtype"] = child2.text elif child2.tag == "publisher": publication["publisher"] = child2.text elif child2.tag == "py": publication["pubyear"] = child2.text elif child2.tag == "isbn": publication["isbn"] = child2.text elif child2.tag == "arnumber": publication["arnumber"] = child2.text elif child2.tag == "doi": publication["doi"] = child2.text elif child2.tag == "publicationId": publication["publicationId"] = child2.text return publication
def banner(msg): print 70 * "=" print msg print 70 * "=" banner("doi turtle") print DOI.doi_get("10.1109/GCE.2010.5676126", kind="turle") banner("doi bibtex") print DOI.doi_get("10.1109/GCE.2010.5676126") banner("doi json") pprint(DOI.doi_get("10.1109/GCE.2010.5676126", kind="json")) banner("ieee xml") print IEEE.ieee_doi_get("10.1109/GCE.2010.5676126", kind="xml") banner("ieee json") print IEEE.ieee_doi_get("10.1109/GCE.2010.5676126", kind="json") banner("orcid xml") print ORCID.orcid_doi_get("10.1109/GCE.2010.5676126", kind="xml") banner("orcid json") print json.dumps(ORCID.orcid_doi_get("10.1109/GCE.2010.5676126", kind="json"), indent=2) banner("crossref json") pprint(CrossRef.crossref_doi_get("10.1109/GCE.2010.5676126", kind="json"))