示例#1
0
    def load(self, source_field, file_path):

        """
        Returns: 
        A bibtex file as an array of Items.
        """
        items = []
        try:
            bib_path = self._check_path(file_path)
            bib_data = self._read_file(bib_path)
        except Exception as e:
            print("Failed to read {}".format(file_path))
            print("Message: {}".format(str(e)))
            return []

        for key in bib_data.entries:
            bib_entry = bib_data.entries[key]
            if not source_field in ['author','key','combined'] and not source_field in bib_entry.fields:
                continue
            if source_field == 'author': 
                try:
                    bib_entry.persons[u'author']
                except:
                    continue

            item = Item()
            item.abstract  = self.get_field(bib_entry, "abstract")
            item.author    = self.format_author(bib_entry)
            item.date      = self.get_field(bib_entry, "month") + self.get_field(bib_entry, "year")
            item.doi       = self.get_field(bib_entry, "doi")
            item.file      = self.format_file(bib_entry)
            item.isbn      = self.get_field(bib_entry, "isbn")
            item.journal   = self.get_field(bib_entry, "journal")
            item.key       = key
            item.language  = self.get_field(bib_entry, "language")
            item.issue     = self.get_field(bib_entry, "number")
            item.notes     = self.get_field(bib_entry, "annote")
            item.pages     = self.get_field(bib_entry, "pages")
            item.publisher = self.get_field(bib_entry, "publisher")
            item.tags      = self.get_field(bib_entry, "keyword")
            item.title     = self.get_field(bib_entry, "title")
            item.type      = bib_entry.type
            item.url       = self.get_field(bib_entry, "url")
            item.volume    = self.get_field(bib_entry, "volume")
            item.combine()
            if not getattr(item, source_field) == "":
                items.append(item)
        return items
示例#2
0
    def load(self, source_field, file_path):

        if not valid_location(file_path):
            print("{} is not a valid zotero path".format(file_path))
            return []

        self.load_citekeys(file_path)

        try:
            zotero = zoteroData(file_path)
            zot_data = zotero.load()
        except Exception as e:
            print("Failed to read {}".format(file_path))
            print("Message: {}".format(str(e)))

        items = []
        for zot_id, zot_entry in zot_data:

            item = Item()
            item.abstract  = zot_entry.abstract
            item.author    = zot_entry.format_author()
            item.date      = zot_entry.date
            item.doi       = zot_entry.doi
            item.file      = zot_entry.fulltext
            item.isbn      = zot_entry.isbn
            item.journal   = zot_entry.publication
            item.key       = self.format_key(zot_entry.id, zot_entry.key)
            item.language  = zot_entry.language
            item.issue     = zot_entry.issue
            item.notes     = zot_entry.format_notes()
            item.pages     = zot_entry.pages
            item.publisher = zot_entry.publisher
            item.tags      = zot_entry.format_tags()
            item.title     = zot_entry.title
            item.type      = zot_entry.type
            item.url       = zot_entry.url
            item.volume    = zot_entry.volume
            item.combine()
            if not getattr(item, source_field) == "":
                items.append(item)
        return items
示例#3
0
    def load(self, source_field, file_path):

        if not valid_location(file_path):
            print("{} is not a valid zotero path".format(file_path))
            return []

        self.load_citekeys(file_path)

        try:
            zotero = zoteroData(file_path)
            zot_data = zotero.load()
        except Exception as e:
            print("Failed to read {}".format(file_path))
            print("Message: {}".format(str(e)))

        items = []
        for zot_id, zot_entry in zot_data:

            item = Item()
            item.abstract = zot_entry.abstract
            item.author = zot_entry.format_author()
            item.date = zot_entry.date
            item.doi = zot_entry.doi
            item.file = zot_entry.fulltext
            item.isbn = zot_entry.isbn
            item.journal = zot_entry.publication
            item.key = self.format_key(zot_entry.id, zot_entry.key)
            item.language = zot_entry.language
            item.issue = zot_entry.issue
            item.notes = zot_entry.format_notes()
            item.pages = zot_entry.pages
            item.publisher = zot_entry.publisher
            item.tags = zot_entry.format_tags()
            item.title = zot_entry.title
            item.type = zot_entry.type
            item.url = zot_entry.url
            item.volume = zot_entry.volume
            item.combine()
            if not getattr(item, source_field) == "":
                items.append(item)
        return items