示例#1
0
文件: test_pprs.py 项目: davecap/PPRS
def test_xml_parsing_endnote():
    xp = EndnoteXMLParser(ENDNOTE_DATA)
    documents = xp.process()
    assert documents is not None
    assert len(documents['authors']) == 3
    assert len(documents['journals']) == 1
    assert len(documents['keywords']) == 3
示例#2
0
文件: indexer.py 项目: davecap/PPRS
    def create_index(self, xmldata):
        xp = EndnoteXMLParser(xmldata)
        documents = xp.process()

        # Make the index directories
        if not os.path.exists(self.index_dir):
            os.mkdir(self.index_dir)

        if not os.path.exists(self.authors_dir):
            os.mkdir(self.authors_dir)

        if not os.path.exists(self.keywords_dir):
            os.mkdir(self.keywords_dir)

        if not os.path.exists(self.journals_dir):
            os.mkdir(self.journals_dir)

        self.index_authors = create_in(self.authors_dir, self.schema_authors)
        self.index_keywords = create_in(self.keywords_dir, self.schema_keywords)
        self.index_journals = create_in(self.journals_dir, self.schema_journals)

        # Authors
        writer = self.index_authors.writer()
        for a in documents["authors"]:
            writer.add_document(author=smart_unicode(a))
        writer.commit()

        # Keywords
        writer = self.index_keywords.writer()
        for k in documents["keywords"]:
            writer.add_document(keyword=smart_unicode(k))
        writer.commit()

        # Journals
        writer = self.index_journals.writer()
        for j in documents["journals"]:
            writer.add_document(journal=smart_unicode(j))
        writer.commit()