def biblfull_xmletree_to_metajson(biblfull, laboratories, projects, source): """ biblFull xmletree -> MetaJSON Document """ if biblfull is None: return None document = Document() # titleStmt tei_titlestmt = biblfull.find(xmletree.prefixtag("tei", "titleStmt")) # editionStmt tei_editionstmt = biblfull.find(xmletree.prefixtag("tei", "editionStmt")) # extent tei_extent = biblfull.find(xmletree.prefixtag("tei", "extent")) # publicationStmt tei_publicationstmt = biblfull.find( xmletree.prefixtag("tei", "publicationStmt")) # seriesStmt tei_seriesstmt = biblfull.find(xmletree.prefixtag("tei", "seriesStmt")) # notesStmt tei_notesstmt = biblfull.find(xmletree.prefixtag("tei", "notesStmt")) # sourceDesc tei_sourcedescs = biblfull.findall(xmletree.prefixtag("tei", "sourceDesc")) # profileDesc tei_profiledesc = biblfull.find(xmletree.prefixtag("tei", "profileDesc")) tei_langusage = tei_profiledesc.find(xmletree.prefixtag( "tei", "langUsage")) tei_languages = tei_langusage.findall(xmletree.prefixtag( "tei", "language")) tei_textclass = tei_profiledesc.find(xmletree.prefixtag( "tei", "textClass")) tei_keywords = tei_textclass.findall(xmletree.prefixtag("tei", "keywords")) tei_classcodes = tei_textclass.findall( xmletree.prefixtag("tei", "classCode")) # language doc_language = None if tei_languages: languages = [] for tei_language in tei_languages: language = tei_language.get("ident") languages.append(language) if languages: document["languages"] = languages doc_language = languages[0] # title document.update(get_tei_titles_to_metason(tei_titlestmt, doc_language)) metajson_service.pretty_print_document(document) metajson_service.print_document(document) return document
def biblfull_xmletree_to_metajson(biblfull, laboratories, projects, source): """ biblFull xmletree -> MetaJSON Document """ if biblfull is None: return None document = Document() # titleStmt tei_titlestmt = biblfull.find(xmletree.prefixtag("tei", "titleStmt")) # editionStmt tei_editionstmt = biblfull.find(xmletree.prefixtag("tei", "editionStmt")) # extent tei_extent = biblfull.find(xmletree.prefixtag("tei", "extent")) # publicationStmt tei_publicationstmt = biblfull.find(xmletree.prefixtag("tei", "publicationStmt")) # seriesStmt tei_seriesstmt = biblfull.find(xmletree.prefixtag("tei", "seriesStmt")) # notesStmt tei_notesstmt = biblfull.find(xmletree.prefixtag("tei", "notesStmt")) # sourceDesc tei_sourcedescs = biblfull.findall(xmletree.prefixtag("tei", "sourceDesc")) # profileDesc tei_profiledesc = biblfull.find(xmletree.prefixtag("tei", "profileDesc")) tei_langusage = tei_profiledesc.find(xmletree.prefixtag("tei", "langUsage")) tei_languages = tei_langusage.findall(xmletree.prefixtag("tei", "language")) tei_textclass = tei_profiledesc.find(xmletree.prefixtag("tei", "textClass")) tei_keywords = tei_textclass.findall(xmletree.prefixtag("tei", "keywords")) tei_classcodes = tei_textclass.findall(xmletree.prefixtag("tei", "classCode")) # language doc_language = None if tei_languages: languages = [] for tei_language in tei_languages: language = tei_language.get("ident") languages.append(language) if languages: document["languages"] = languages doc_language = languages[0] # title document.update(get_tei_titles_to_metason(tei_titlestmt, doc_language)) metajson_service.pretty_print_document(document) metajson_service.print_document(document) return document