Add fanfiction.net's new 'pairings'.

This commit is contained in:
Jim Miller 2013-10-26 10:04:02 -05:00
parent 03da5f8eb8
commit 2195ea5792
3 changed files with 17 additions and 5 deletions

View file

@ -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

View file

@ -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:

View file

@ -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