| @@ -26,8 +26,8 @@ class Citation: | |||
| def getAuthors(self): | |||
| astr = "" | |||
| for author in self.authors: | |||
| astr += "A1 - {}\n".format(author) | |||
| for author in self.authors.values(): | |||
| astr += "AU - {}\n".format(author) | |||
| return astr | |||
| def addType(self, ctype): | |||
| @@ -49,7 +49,7 @@ class Citation: | |||
| self.date.info = "" if info == None else info | |||
| def getDate(self): | |||
| return "CY - {}/{}/{}/{}\n".format(self.date.year, self.date.month, self.date.day, self.date.info) | |||
| return "PY - {}/{}/{}/{}\n".format(self.date.year, self.date.month, self.date.day, self.date.info) | |||
| class CiteList: | |||
| @@ -67,6 +67,32 @@ class CiteList: | |||
| self.contents = f.read() | |||
| self.outfile = self.fn + ".ris" | |||
| def loadCitations(self): | |||
| """ Create citations from self.content. | |||
| Input: each citation in EndNote format begins with ^PT | |||
| and ends with ^ER | |||
| There's a blank line between records that can be discarded | |||
| """ | |||
| lines = self.contents.split("\n") | |||
| cite = Citation() | |||
| authors = False | |||
| title = False | |||
| sTitle = "" | |||
| for line in lines: | |||
| if line == "PT J": | |||
| cite.addType("JOUR") | |||
| if line[:2] == "AF": # we're on authors | |||
| authors = True | |||
| cite.addAuthor(line[3:]) | |||
| elif authors and line[:2] == " ": # another author | |||
| cite.addAuthor(line[3:]) | |||
| elif authors: | |||
| authors = False | |||
| if line[:2] == "TI": # we're on the title | |||
| title = True | |||
| cite.addTitle(line[]) | |||
| def toString(self): | |||
| rstr = "Current infile: {}.{}".format(self.fn, self.ext) | |||
| rstr += "\n" | |||