Add new tag types to fimfiction adapter and fix groups metadata
parent
c62b4e85b0
commit
7cd03b26ca
|
@ -252,11 +252,13 @@ class FimFictionNetSiteAdapter(BaseSiteAdapter):
|
|||
self.story.addToList("characters", stripHTML(character))
|
||||
for genre in tags.find_all("a", {"class":"tag-genre"}):
|
||||
self.story.addToList("genre", stripHTML(genre))
|
||||
# only two warnings I've seen, each with their own class(and color)
|
||||
for gore in tags.find_all("a", {"class":"tag-gore"}):
|
||||
self.story.addToList("warnings", stripHTML(gore))
|
||||
for sex in tags.find_all("a", {"class":"tag-sex"}):
|
||||
self.story.addToList("warnings", stripHTML(sex))
|
||||
for series in tags.find_all("a", {"class":"tag-series"}):
|
||||
#using 'fandoms' as the identifier to standardize with archiveofourown.org
|
||||
self.story.addToList("fandoms", stripHTML(series))
|
||||
for warning in tags.find_all("a", {"class":"tag-warning"}):
|
||||
self.story.addToList("warnings", stripHTML(warning))
|
||||
for content in tags.find_all("a", {"class":"tag-content"}):
|
||||
self.story.addToList("content", stripHTML(content))
|
||||
|
||||
# Likes and dislikes
|
||||
storyToolbar = soup.find('div', {'class':'story-top-toolbar'})
|
||||
|
@ -282,8 +284,8 @@ class FimFictionNetSiteAdapter(BaseSiteAdapter):
|
|||
self.story.setMetadata("short_description", stripHTML(descriptionMeta['content']))
|
||||
|
||||
#groups
|
||||
groupDiv = soup.find('div', {'class':'groups'})
|
||||
if groupDiv != None and groupDiv.find('div').find('button'):
|
||||
groupButton = soup.find('button', {'data-click':'showAll'})
|
||||
if groupButton != None and groupButton.find('i', {'class':'fa-search-plus'}):
|
||||
groupResponse = self._fetchUrl("https://www.fimfiction.net/ajax/stories/%s/groups" % (self.story.getMetadata("storyId")))
|
||||
groupData = json.loads(groupResponse)
|
||||
groupList = self.make_soup(groupData["content"])
|
||||
|
@ -291,9 +293,13 @@ class FimFictionNetSiteAdapter(BaseSiteAdapter):
|
|||
groupList = soup.find('ul', {'id':'story-groups-list'})
|
||||
|
||||
if not (groupList == None):
|
||||
for groupName in groupList.find_all('a'):
|
||||
self.story.addToList("groupsUrl", 'https://'+self.host+groupName["href"])
|
||||
self.story.addToList("groups",stripHTML(groupName).replace(',', ';'))
|
||||
for groupContent in groupList.find_all('a'):
|
||||
self.story.addToList("groupsUrl", 'https://'+self.host+groupContent["href"])
|
||||
groupName = groupContent.find('span', {"class":"group-name"})
|
||||
if groupName != None:
|
||||
self.story.addToList("groups",stripHTML(groupName).replace(',', ';'))
|
||||
else:
|
||||
self.story.addToList("groups",stripHTML(groupContent).replace(',', ';'))
|
||||
|
||||
#sequels
|
||||
for header in soup.find_all('h1', {'class':'header-stories'}):
|
||||
|
|
|
@ -1065,13 +1065,12 @@ website_encodings:Windows-1252,utf8
|
|||
## extra_titlepage_entries, logpage_entries, extra_logpage_entries,
|
||||
## and include_in_* config items. You can also add additional entries
|
||||
## here to build up composite metadata entries.
|
||||
## archiveofourown.org.org, for example, fills genre (a standard
|
||||
## archiveofourown.org, for example, fills genre (a standard
|
||||
## entry) as the composite offreeformtags, ao3categories in
|
||||
## include_in_genre. If there's ever more than 4 series, add
|
||||
## series04,series04Url etc.
|
||||
extra_valid_entries:fandoms,freeformtags,freefromtags,ao3categories,comments,kudos,hits,bookmarks,collections,byline,bookmarktags,bookmarksummary,series00,series01,series02,series03,series00Url,series01Url,series02Url,series03Url,series00HTML,series01HTML,series02HTML,series03HTML
|
||||
fandoms_label:Fandoms
|
||||
freeformtags_label:Freeform Tags
|
||||
freefromtags_label:Freeform Tags
|
||||
ao3categories_label:AO3 Categories
|
||||
comments_label:Comments
|
||||
|
@ -2505,7 +2504,7 @@ extracategories:My Little Pony: Friendship is Magic
|
|||
|
||||
## Extra metadata that this adapter knows about. See [archiveofourown.org]
|
||||
## for examples of how to use them.
|
||||
extra_valid_entries:likes,dislikes,views,total_views,short_description,groups,groupsUrl,groupsHTML,prequel,prequelUrl,prequelHTML,sequels,sequelsUrl,sequelsHTML,comment_count,coverSource,coverSourceUrl,coverSourceHTML,authorLastLogin
|
||||
extra_valid_entries:likes,dislikes,views,total_views,short_description,groups,groupsUrl,groupsHTML,prequel,prequelUrl,prequelHTML,sequels,sequelsUrl,sequelsHTML,comment_count,coverSource,coverSourceUrl,coverSourceHTML,authorLastLogin,content,fandoms
|
||||
likes_label:Likes
|
||||
dislikes_label:Dislikes
|
||||
views_label:Highest Single Chapter Views
|
||||
|
@ -2525,6 +2524,8 @@ coverSource_label:Cover Source
|
|||
coverSourceUrl_label:Cover Source URL
|
||||
coverSourceHTML_label:Cover Source
|
||||
authorLastLogin_label:Author Last Logged In
|
||||
content_label:Content
|
||||
fandoms_label:Fandoms
|
||||
|
||||
keep_in_order_sequels:true
|
||||
keep_in_order_sequelsUrl:true
|
||||
|
|
Loading…
Reference in New Issue