diff --git a/defaults.ini b/defaults.ini index 807b0db5..3e45fa13 100644 --- a/defaults.ini +++ b/defaults.ini @@ -523,7 +523,8 @@ extratags: FanFiction,Testing,HTML #is_adult:true ## AO3 adapter defines a few extra metadata entries. -extra_valid_entries:fandoms,freeformtags,freefromtags,ao3categories,comments,kudos,hits,bookmarks,collections +## If there's ever more than 4 series, add series04,series04Url etc. +extra_valid_entries:fandoms,freeformtags,freefromtags,ao3categories,comments,kudos,hits,bookmarks,collections,series00,series01,series02,series03,series00Url,series01Url,series02Url,series03Url fandoms_label:Fandoms freeformtags_label:Freeform Tags freefromtags_label:Freeform Tags @@ -539,7 +540,7 @@ bookmarks_label:Bookmarks include_in_freefromtags:freeformtags ## adds to titlepage_entries instead of replacing it. -#extra_titlepage_entries: fandoms,freeformtags,ao3categories,comments,kudos,hits,bookmarks +#extra_titlepage_entries: fandoms,freeformtags,ao3categories,comments,kudos,hits,bookmarks,series00,series01,series02,series03,series00Url,series01Url,series02Url,series03Url ## adds to include_subject_tags instead of replacing it. #extra_subject_tags:fandoms,freeformtags,ao3categories diff --git a/fanficdownloader/adapters/adapter_archiveofourownorg.py b/fanficdownloader/adapters/adapter_archiveofourownorg.py index 6aa4ad02..c392c46a 100644 --- a/fanficdownloader/adapters/adapter_archiveofourownorg.py +++ b/fanficdownloader/adapters/adapter_archiveofourownorg.py @@ -210,10 +210,7 @@ class ArchiveOfOurOwnOrgAdapter(BaseSiteAdapter): if a != None: warnings = a.findAll('a',{'class':"tag"}) for warning in warnings: - if warning.string == "Author Chose Not To Use Archive Warnings": - warning.string = "No Archive Warnings Apply" - if warning.string != "No Archive Warnings Apply": - self.story.addToList('warnings',warning.string) + self.story.addToList('warnings',warning.string) a = metasoup.find('dd',{'class':"freeform tags"}) if a != None: @@ -288,19 +285,18 @@ class ArchiveOfOurOwnOrgAdapter(BaseSiteAdapter): self.story.setMetadata('dateUpdated', makeDate(stripHTML(value), self.dateformat)) - try: - # Find Series name from series URL. - a = metasoup.find('dd',{'class':"series"}) - b = a.find('a', href=re.compile(r"/series/\d+")) - series_name = b.string - series_url = 'http://'+self.host+b['href'] - series_index = int(a.text.split(' ')[1]) - self.setSeries(series_name, series_index) - self.story.setMetadata('seriesUrl',series_url) - - except: - # I find it hard to care if the series parsing fails - pass + # Find Series name from series URL. + ddseries = metasoup.find('dd',{'class':"series"}) + + for i, a in enumerate(ddseries.findAll('a', href=re.compile(r"/series/\d+"))): + series_name = stripHTML(a) + series_url = 'http://'+self.host+a['href'] + series_index = int(stripHTML(a.previousSibling).replace(', ','').split(' ')[1]) # "Part # of" or ", Part #" + self.story.setMetadata('series%02d'%i,"%s [%s]"%(series_name,series_index)) + self.story.setMetadata('series%02dUrl'%i,series_url) + if i == 0: + self.setSeries(series_name, series_index) + self.story.setMetadata('seriesUrl',series_url) # grab the text for an individual chapter. def getChapterText(self, url): diff --git a/plugin-defaults.ini b/plugin-defaults.ini index 107eeb12..6f779e46 100644 --- a/plugin-defaults.ini +++ b/plugin-defaults.ini @@ -492,7 +492,8 @@ extratags: FanFiction,Testing,HTML #is_adult:true ## AO3 adapter defines a few extra metadata entries. -extra_valid_entries:fandoms,freeformtags,freefromtags,ao3categories,comments,kudos,hits,bookmarks,collections +## If there's ever more than 4 series, add series04,series04Url etc. +extra_valid_entries:fandoms,freeformtags,freefromtags,ao3categories,comments,kudos,hits,bookmarks,collections,series00,series01,series02,series03,series00Url,series01Url,series02Url,series03Url fandoms_label:Fandoms freeformtags_label:Freeform Tags freefromtags_label:Freeform Tags @@ -508,7 +509,7 @@ bookmarks_label:Bookmarks include_in_freefromtags:freeformtags ## adds to titlepage_entries instead of replacing it. -#extra_titlepage_entries: fandoms,freeformtags,ao3categories,comments,kudos,hits,bookmarks +#extra_titlepage_entries: fandoms,freeformtags,ao3categories,comments,kudos,hits,bookmarks,series00,series01,series02,series03,series00Url,series01Url,series02Url,series03Url ## adds to include_subject_tags instead of replacing it. #extra_subject_tags:fandoms,freeformtags,ao3categories