From 031d9de3566e8534f6187ba3336433e2b68df1dc Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Fri, 24 Jan 2020 22:25:24 -0600 Subject: [PATCH] Add more domains for AO3. --- .../adapters/adapter_archiveofourownorg.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/fanficfare/adapters/adapter_archiveofourownorg.py b/fanficfare/adapters/adapter_archiveofourownorg.py index e79de2f4..3e0064f3 100644 --- a/fanficfare/adapters/adapter_archiveofourownorg.py +++ b/fanficfare/adapters/adapter_archiveofourownorg.py @@ -77,7 +77,14 @@ class ArchiveOfOurOwnOrgAdapter(BaseSiteAdapter): @classmethod def getAcceptDomains(cls): - return ['archiveofourown.org','archiveofourown.com','download.archiveofourown.org','download.archiveofourown.com'] + return ['archiveofourown.org', + 'archiveofourown.com', + 'archiveofourown.net', + 'download.archiveofourown.org', + 'download.archiveofourown.com', + 'download.archiveofourown.net', + 'ao3.org', + ] @classmethod def getSiteExampleURLs(cls): @@ -86,7 +93,15 @@ class ArchiveOfOurOwnOrgAdapter(BaseSiteAdapter): def getSiteURLPattern(self): # https://archiveofourown.org/collections/Smallville_Slash_Archive/works/159770 # Discard leading zeros from story ID numbers--AO3 doesn't use them in it's own chapter URLs. - return r"https?://(download\.)?archiveofourown\.(org|com)(/collections/[^/]+)?/works/0*(?P\d+)" + logger.debug(r"https?://" + r"|".join([x.replace('.','\.') for x in self.getAcceptDomains()]) + r"(/collections/[^/]+)?/works/0*(?P\d+)") + return r"https?://(" + r"|".join([x.replace('.','\.') for x in self.getAcceptDomains()]) + r")(/collections/[^/]+)?/works/0*(?P\d+)" + + # The certificate is only valid for the following names: + # ao3.org, + # archiveofourown.com, + # archiveofourown.net, + # archiveofourown.org, + # www.ao3.org, ## Login def needToLoginCheck(self, data):