mirror of
https://github.com/spaam/svtplay-dl.git
synced 2024-11-24 04:05:39 +01:00
parent
1ec914d370
commit
25ea769bc3
@ -236,15 +236,53 @@ class Svtplay(Service, MetadataThumbMixin):
|
|||||||
def seasoninfo(self, data):
|
def seasoninfo(self, data):
|
||||||
season, episode = None, None
|
season, episode = None, None
|
||||||
|
|
||||||
match = re.search(r"/säsong (\d+)/avsnitt (\d+)", data["analyticsIdentifiers"]["viewId"])
|
season_nr = self._find_season(data)
|
||||||
if not match:
|
episode_nr = self._find_episode(data)
|
||||||
|
|
||||||
|
if season_nr is None or episode_nr is None:
|
||||||
return season, episode
|
return season, episode
|
||||||
|
|
||||||
season = "{:02d}".format(int(match.group(1)))
|
season = "{:02d}".format(int(season_nr))
|
||||||
episode = "{:02d}".format(int(match.group(2)))
|
episode = "{:02d}".format(int(episode_nr))
|
||||||
|
|
||||||
return season, episode
|
return season, episode
|
||||||
|
|
||||||
|
def _find_season(self, data):
|
||||||
|
match = re.search(r"/säsong (\d+)/", data["analyticsIdentifiers"]["viewId"])
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
|
||||||
|
match = re.search(r"-sasong-(\d+)-", data["item"]["urls"]["svtplay"])
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
|
||||||
|
vid = data["video"]["svtId"]
|
||||||
|
for seasons in data["associatedContent"]:
|
||||||
|
for i in seasons["items"]:
|
||||||
|
if i["item"]["videoSvtId"] == vid:
|
||||||
|
match = re.search(r"S.song (\d+)", i["item"]["positionInSeason"])
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
return None
|
||||||
|
|
||||||
|
def _find_episode(self, data):
|
||||||
|
match = re.search(r"/avsnitt (\d+)", data["analyticsIdentifiers"]["viewId"])
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
|
||||||
|
match = re.search(r"Avsnitt (\d+)", data["item"]["name"])
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
|
||||||
|
vid = data["video"]["svtId"]
|
||||||
|
for seasons in data["associatedContent"]:
|
||||||
|
for i in seasons["items"]:
|
||||||
|
if i["item"]["videoSvtId"] == vid:
|
||||||
|
match = re.search(r"Avsnitt (\d+)", i["item"]["positionInSeason"])
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
return None
|
||||||
|
|
||||||
def extrametadata(self, episode):
|
def extrametadata(self, episode):
|
||||||
self.output["tvshow"] = self.output["season"] is not None and self.output["episode"] is not None
|
self.output["tvshow"] = self.output["season"] is not None and self.output["episode"] is not None
|
||||||
if "validFrom" in episode:
|
if "validFrom" in episode:
|
||||||
|
Loading…
Reference in New Issue
Block a user