From 3a8dbd6532b04e06623d9db5ae66d8e441416077 Mon Sep 17 00:00:00 2001 From: trueold89 Date: Thu, 21 Mar 2024 06:52:36 +0300 Subject: [PATCH] Add SpotifyLink class --- sllo/Classes.py | 38 ++++++++++++++++++++++++++++++++++++++ sllo/Main.py | 1 - 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/sllo/Classes.py b/sllo/Classes.py index e69de29..1dcea49 100644 --- a/sllo/Classes.py +++ b/sllo/Classes.py @@ -0,0 +1,38 @@ +from enum import Enum + + +class SpotifyLink: + class SMTH(Enum): + CTYPE = 0 + CID = 1 + + def __init__(self, link: str) -> None: + """ + :rtype: None + """ + if not ("open.spotify.com" in link): + raise ValueError("This is not a SpotifyOpen link") + self.__link = link + + def __getsmth(self, item: SMTH) -> str: + """ + :type item: SMTH + :rtype: str + """ + split = self.__link[8:].split("/")[1:] + return split[item.value] + + def __gettype(self) -> str: + """ + :return: Content type + :rtype: str + """ + return self.__getsmth(self.SMTH.CTYPE) + + def __getid(self) -> str: + return self.__getsmth(self.SMTH.CID) + + def uri(self): + ctype = self.__gettype() + cid = self.__getid() + return f"spotify:{ctype}:{cid}" diff --git a/sllo/Main.py b/sllo/Main.py index 8b13789..e69de29 100644 --- a/sllo/Main.py +++ b/sllo/Main.py @@ -1 +0,0 @@ -