This commit is contained in:
Yaronzz
2022-06-17 17:06:36 +08:00
parent 30a6c8c55a
commit 8876be13b6
5 changed files with 124 additions and 91 deletions
Binary file not shown.
+1 -1
View File
@@ -4,6 +4,6 @@ prettytable==3.1.1
mutagen==1.45.1
psutil==5.9.0
pycryptodome==3.14.1
aigpy==2022.1.20.1
aigpy==2022.6.15.1
lyricsgenius==3.0.1
pydub==0.25.1
+1 -1
View File
@@ -13,7 +13,7 @@ setup(
packages=find_packages(exclude=['tidal_gui*']),
include_package_data=False,
platforms="any",
install_requires=["aigpy>=2022.01.20.1", "requests>=2.22.0",
install_requires=["aigpy>=2022.6.15.1", "requests>=2.22.0",
"pycryptodome", "pydub", "prettytable", "lyricsgenius"],
entry_points={'console_scripts': ['tidal-dl = tidal_dl:main', ]}
)
+121 -88
View File
@@ -12,136 +12,169 @@ from aigpy.modelHelper import ModelBase
class StreamUrl(ModelBase):
trackid = None
url = None
codec = None
encryptionKey = None
soundQuality = None
def __init__(self) -> None:
super().__init__()
self.trackid = None
self.url = None
self.codec = None
self.encryptionKey = None
self.soundQuality = None
class VideoStreamUrl(ModelBase):
codec = None
resolution = None
resolutions = None
m3u8Url = None
def __init__(self) -> None:
super().__init__()
self.codec = None
self.resolution = None
self.resolutions = None
self.m3u8Url = None
class Artist(ModelBase):
id = None
name = None
type = None
picture = None
def __init__(self) -> None:
super().__init__()
self.id = None
self.name = None
self.type = None
self.picture = None
class Album(ModelBase):
id = None
title = None
duration = 0
numberOfTracks = 0
numberOfVideos = 0
numberOfVolumes = 0
releaseDate = None
type = None
version = None
cover = None
explicit = False
audioQuality = None
audioModes = None
artist = Artist()
artists = Artist()
def __init__(self) -> None:
super().__init__()
self.id = None
self.title = None
self.duration = 0
self.numberOfTracks = 0
self.numberOfVideos = 0
self.numberOfVolumes = 0
self.releaseDate = None
self.type = None
self.version = None
self.cover = None
self.explicit = False
self.audioQuality = None
self.audioModes = None
self.artist = Artist()
self.artists = Artist()
class Playlist(ModelBase):
uuid = None
title = None
numberOfTracks = 0
numberOfVideos = 0
description = None
duration = 0
image = None
squareImage = None
def __init__(self) -> None:
super().__init__()
self.uuid = None
self.title = None
self.numberOfTracks = 0
self.numberOfVideos = 0
self.description = None
self.duration = 0
self.image = None
self.squareImage = None
class Track(ModelBase):
id = None
title = None
duration = 0
trackNumber = 0
volumeNumber = 0
trackNumberOnPlaylist = 0
version = None
isrc = None
explicit = False
audioQuality = None
copyRight = None
artist = Artist()
artists = Artist()
album = Album()
allowStreaming = False
playlist = None
def __init__(self) -> None:
super().__init__()
self.id = None
self.title = None
self.duration = 0
self.trackNumber = 0
self.volumeNumber = 0
self.trackNumberOnPlaylist = 0
self.version = None
self.isrc = None
self.explicit = False
self.audioQuality = None
self.copyRight = None
self.artist = Artist()
self.artists = Artist()
self.album = Album()
self.allowStreaming = False
self.playlist = None
class Video(ModelBase):
id = None
title = None
duration = 0
imageID = None
trackNumber = 0
releaseDate = None
version = None
quality = None
explicit = False
artist = Artist()
artists = Artist()
album = Album()
allowStreaming = False
playlist = None
def __init__(self) -> None:
super().__init__()
self.id = None
self.title = None
self.duration = 0
self.imageID = None
self.trackNumber = 0
self.releaseDate = None
self.version = None
self.quality = None
self.explicit = False
self.artist = Artist()
self.artists = Artist()
self.album = Album()
self.allowStreaming = False
self.playlist = None
class Mix(ModelBase):
id = None
tracks = Track()
videos = Video()
def __init__(self) -> None:
super().__init__()
self.id = None
self.tracks = Track()
self.videos = Video()
class Lyrics(ModelBase):
trackId = None
lyricsProvider = None
providerCommontrackId = None
providerLyricsId = None
lyrics = None
subtitles = None
def __init__(self) -> None:
super().__init__()
self.trackId = None
self.lyricsProvider = None
self.providerCommontrackId = None
self.providerLyricsId = None
self.lyrics = None
self.subtitles = None
class SearchDataBase(ModelBase):
limit = 0
offset = 0
totalNumberOfItems = 0
def __init__(self) -> None:
super().__init__()
self.limit = 0
self.offset = 0
self.totalNumberOfItems = 0
class SearchAlbums(SearchDataBase):
items = Album()
def __init__(self) -> None:
super().__init__()
self.items = Album()
class SearchArtists(SearchDataBase):
items = Artist()
def __init__(self) -> None:
super().__init__()
self.items = Artist()
class SearchTracks(SearchDataBase):
items = Track()
def __init__(self) -> None:
super().__init__()
self.items = Track()
class SearchVideos(SearchDataBase):
items = Video()
def __init__(self) -> None:
super().__init__()
self.items = Video()
class SearchPlaylists(SearchDataBase):
items = Playlist()
def __init__(self) -> None:
super().__init__()
self.items = Playlist()
class SearchResult(ModelBase):
artists = SearchArtists()
albums = SearchAlbums()
tracks = SearchTracks()
videos = SearchVideos()
playlists = SearchPlaylists()
def __init__(self) -> None:
super().__init__()
self.artists = SearchArtists()
self.albums = SearchAlbums()
self.tracks = SearchTracks()
self.videos = SearchVideos()
self.playlists = SearchPlaylists()
+1 -1
View File
@@ -30,7 +30,7 @@ __LOGO__ = '''
https://github.com/yaronzz/Tidal-Media-Downloader
'''
VERSION = '2022.03.04.2'
VERSION = '2022.06.17.2'
class Printf(object):