diff --git a/defaults.ini b/defaults.ini index 2570034..8212748 100644 --- a/defaults.ini +++ b/defaults.ini @@ -1155,6 +1155,10 @@ never_make_cover: true ## for examples of how to use them. extra_valid_entries:reviews,favs,follows +## ffnet uses 'Pairings', not 'Relationship', stating they don't have +## to be romantic pairings. +ships_label:Pairings + [www.fanfiktion.de] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In diff --git a/fanficdownloader/adapters/adapter_fanfictionnet.py b/fanficdownloader/adapters/adapter_fanfictionnet.py index 9b4b4fd..14e924a 100644 --- a/fanficdownloader/adapters/adapter_fanfictionnet.py +++ b/fanficdownloader/adapters/adapter_fanfictionnet.py @@ -222,14 +222,18 @@ class FanFictionNetSiteAdapter(BaseSiteAdapter): elif metalist[0].startswith('Words'): self.story.setMetadata('numWords',metalist[0].split(':')[1].strip()) elif not donechars: - self.story.extendList('characters',metalist[0].split('&')) + # with 'pairing' support, pairings are bracketed w/o comma after + # [Caspian X, Lucy Pevensie] Edmund Pevensie, Peter Pevensie + self.story.extendList('characters',metalist[0].replace('[','').replace(']',',').split(',')) + + l = metalist[0] + while '[' in l: + self.story.addToList('ships',l[l.index('[')+1:l.index(']')].replace(', ','/')) + l = l[l.index(']')+1:] + donechars = True metalist=metalist[1:] - # next might be characters, otherwise Reviews, Updated, Published, Words - # if not ( metalist[0].startswith('Reviews') or metalist[0].startswith('Updated') or metalist[0].startswith('Published') or metalist[0].startswith('Words') or metalist[0].startswith('Chapters') ): - # self.story.extendList('characters',metalist[0].split('&')) - if 'Status: Complete' in metatext: self.story.setMetadata('status', 'Completed') else: diff --git a/plugin-defaults.ini b/plugin-defaults.ini index 86fec8d..a1b8ea3 100644 --- a/plugin-defaults.ini +++ b/plugin-defaults.ini @@ -1140,6 +1140,10 @@ never_make_cover: true ## for examples of how to use them. extra_valid_entries:reviews,favs,follows +## ffnet uses 'Pairings', not 'Relationship', stating they don't have +## to be romantic pairings. +ships_label:Pairings + [www.fanfiktion.de] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In