diff --git a/fanficfare/adapters/adapter_spikeluvercom.py b/fanficfare/adapters/adapter_spikeluvercom.py index 79d8e92..d9d3133 100644 --- a/fanficfare/adapters/adapter_spikeluvercom.py +++ b/fanficfare/adapters/adapter_spikeluvercom.py @@ -3,7 +3,7 @@ import re import urllib2 import urlparse -from bs4 import BeautifulSoup +from bs4.element import Tag from ..htmlcleanup import stripHTML from base_adapter import BaseSiteAdapter, makeDate @@ -98,7 +98,7 @@ class SpikeluverComAdapter(BaseSiteAdapter): query_data = urlparse.parse_qs(components.query) self.story.setMetadata('author', stripHTML(author_anchor)) - self.story.setMetadata('authorId', query_data['uid']) + self.story.setMetadata('authorId', query_data['uid'][0]) self.story.setMetadata('authorUrl', url) sort_div = soup.find('div', id='sort') @@ -122,7 +122,7 @@ class SpikeluverComAdapter(BaseSiteAdapter): keep_summary_html = self.getConfig('keep_summary_html') for sibling in _yield_next_siblings(span_tag): - if isinstance(sibling, BeautifulSoup.Tag): + if isinstance(sibling, Tag): # Encountered next label, break. Not as bad as other # e-fiction sites, let's hope this is enough for proper # parsing. diff --git a/fanficfare/adapters/adapter_voracity2eficcom.py b/fanficfare/adapters/adapter_voracity2eficcom.py index 492e5af..ebf40fa 100644 --- a/fanficfare/adapters/adapter_voracity2eficcom.py +++ b/fanficfare/adapters/adapter_voracity2eficcom.py @@ -138,7 +138,7 @@ class Voracity2EficComAdapter(BaseSiteAdapter): query_data = urlparse.parse_qs(components.query) self.story.setMetadata('author', author_anchor.string) - self.story.setMetadata('authorId', query_data['uid']) + self.story.setMetadata('authorId', query_data['uid'][0]) self.story.setMetadata('authorUrl', url) sort_div = soup.find('div', id='sort') diff --git a/fanficfare/story.py b/fanficfare/story.py index 6ef0441..4b26c14 100644 --- a/fanficfare/story.py +++ b/fanficfare/story.py @@ -1109,4 +1109,8 @@ def commaGroups(s): def unique_list(seq): seen = set() seen_add = seen.add - return [x for x in seq if not (x in seen or seen_add(x))] + try: + return [x for x in seq if not (x in seen or seen_add(x))] + except: + print("unique_list exception seq:%s"%seq) + raise