From d01ae7004a39f5a135d703452a07fe9301506d21 Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Thu, 9 Jun 2022 13:10:58 -0500 Subject: [PATCH] base_xenforoforum_adapter(QQ): Allow for guest/deleted author w/o a link. Closes #852 --- .../adapters/base_xenforoforum_adapter.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/fanficfare/adapters/base_xenforoforum_adapter.py b/fanficfare/adapters/base_xenforoforum_adapter.py index 828c0ed0..bec569bc 100644 --- a/fanficfare/adapters/base_xenforoforum_adapter.py +++ b/fanficfare/adapters/base_xenforoforum_adapter.py @@ -618,12 +618,20 @@ class BaseXenForoForumAdapter(BaseSiteAdapter): def parse_author(self,souptag): a = souptag.find('h3',{'class':'userText'}).find('a') - self.story.addToList('authorId',a['href'].split('/')[1]) - authorUrl = self.getURLPrefix()+a['href'] - self.story.addToList('authorUrl',authorUrl) self.story.addToList('author',a.text) - # logger.debug("author_avatar_cover:%s"%self.getConfig('author_avatar_cover')) - if self.getConfig('author_avatar_cover'): + authorUrl = None + if a.has_attr('href'): + self.story.addToList('authorId',a['href'].split('/')[1]) + authorUrl = self.getURLPrefix()+a['href'] + self.story.addToList('authorUrl',authorUrl) + # logger.debug("author_avatar_cover:%s"%self.getConfig('author_avatar_cover')) + else: + # No author link found--it's a rare case, but at least one + # thread had a 'Guest' account author. + self.story.setMetadata('authorUrl',self.getURLPrefix()) + self.story.setMetadata('authorId','0') + + if self.getConfig('author_avatar_cover') and authorUrl: authorcard = self.make_soup(self.get_request(authorUrl)) # logger.debug(authorcard) coverimg = authorcard.find('div',{'class':'avatarScaler'}).find('img')