From 663109572633376244a268e43e59889e7ba39c45 Mon Sep 17 00:00:00 2001 From: David Lynch Date: Thu, 14 Nov 2019 14:45:19 -0600 Subject: [PATCH] Fiction.live: niche URLs * occasional stories with "Sci-fi" in the URL instead of "stories" * rare cases of `-` in the work id Fixes #31 --- sites/fictionlive.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/fictionlive.py b/sites/fictionlive.py index 9d23f9d..43b0fd8 100644 --- a/sites/fictionlive.py +++ b/sites/fictionlive.py @@ -15,12 +15,12 @@ class FictionLive(Site): @staticmethod def matches(url): # e.g. https://fiction.live/stories/Descendant-of-a-Demon-Lord/SBBA49fQavNQMWxFT - match = re.match(r'^(https?://fiction\.live/stories/[^\/]+/[0-9a-zA-Z]+)/?.*', url) + match = re.match(r'^(https?://fiction\.live/(?:stories|Sci-fi)/[^\/]+/[0-9a-zA-Z\-]+)/?.*', url) if match: return match.group(1) def extract(self, url): - workid = re.match(r'^https?://fiction\.live/stories/[^\/]+/([0-9a-zA-Z]+)/?.*', url).group(1) + workid = re.match(r'^https?://fiction\.live/(?:stories|Sci-fi)/[^\/]+/([0-9a-zA-Z\-]+)/?.*', url).group(1) response = self.session.get(f'https://fiction.live/api/node/{workid}').json()