1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
--- a/zspotify/__main__.py
+++ b/zspotify/__main__.py
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import argparse
-from app import client
-from config import CONFIG_VALUES
+from zspotify.app import client
+from zspotify.config import CONFIG_VALUES
if __name__ == '__main__':
parser = argparse.ArgumentParser(prog='zspotify',
--- a/zspotify/album.py
+++ b/zspotify/album.py
@@ -1,8 +1,8 @@
-from const import ITEMS, ARTISTS, NAME, ID
-from termoutput import Printer
-from track import download_track
-from utils import fix_filename
-from zspotify import ZSpotify
+from zspotify.const import ITEMS, ARTISTS, NAME, ID
+from zspotify.termoutput import Printer
+from zspotify.track import download_track
+from zspotify.utils import fix_filename
+from zspotify.zspotify import ZSpotify
ALBUM_URL = 'https://api.spotify.com/v1/albums'
ARTIST_URL = 'https://api.spotify.com/v1/artists'
--- a/zspotify/app.py
+++ b/zspotify/app.py
@@ -2,15 +2,15 @@ from librespot.audio.decoders import AudioQuality
from tabulate import tabulate
import os
-from album import download_album, download_artist_albums
-from const import TRACK, NAME, ID, ARTIST, ARTISTS, ITEMS, TRACKS, EXPLICIT, ALBUM, ALBUMS, \
+from zspotify.album import download_album, download_artist_albums
+from zspotify.const import TRACK, NAME, ID, ARTIST, ARTISTS, ITEMS, TRACKS, EXPLICIT, ALBUM, ALBUMS, \
OWNER, PLAYLIST, PLAYLISTS, DISPLAY_NAME
-from playlist import get_playlist_songs, get_playlist_info, download_from_user_playlist, download_playlist
-from podcast import download_episode, get_show_episodes
-from termoutput import Printer, PrintChannel
-from track import download_track, get_saved_tracks
-from utils import splash, split_input, regex_input_for_urls
-from zspotify import ZSpotify
+from zspotify.playlist import get_playlist_songs, get_playlist_info, download_from_user_playlist, download_playlist
+from zspotify.podcast import download_episode, get_show_episodes
+from zspotify.termoutput import Printer, PrintChannel
+from zspotify.track import download_track, get_saved_tracks
+from zspotify.utils import splash, split_input, regex_input_for_urls
+from zspotify.zspotify import ZSpotify
SEARCH_URL = 'https://api.spotify.com/v1/search'
--- a/zspotify/loader.py
+++ b/zspotify/loader.py
@@ -7,7 +7,7 @@ from shutil import get_terminal_size
from threading import Thread
from time import sleep
-from termoutput import Printer
+from zspotify.termoutput import Printer
class Loader:
--- a/zspotify/playlist.py
+++ b/zspotify/playlist.py
@@ -1,8 +1,8 @@
-from const import ITEMS, ID, TRACK, NAME
-from termoutput import Printer
-from track import download_track
-from utils import split_input
-from zspotify import ZSpotify
+from zspotify.const import ITEMS, ID, TRACK, NAME
+from zspotify.termoutput import Printer
+from zspotify.track import download_track
+from zspotify.utils import split_input
+from zspotify.zspotify import ZSpotify
MY_PLAYLISTS_URL = 'https://api.spotify.com/v1/me/playlists'
PLAYLISTS_URL = 'https://api.spotify.com/v1/playlists'
--- a/zspotify/podcast.py
+++ b/zspotify/podcast.py
@@ -4,11 +4,11 @@ from typing import Optional, Tuple
from librespot.metadata import EpisodeId
-from const import ERROR, ID, ITEMS, NAME, SHOW, DURATION_MS
-from termoutput import PrintChannel, Printer
-from utils import create_download_directory, fix_filename
-from zspotify import ZSpotify
-from loader import Loader
+from zspotify.const import ERROR, ID, ITEMS, NAME, SHOW, DURATION_MS
+from zspotify.termoutput import PrintChannel, Printer
+from zspotify.utils import create_download_directory, fix_filename
+from zspotify.zspotify import ZSpotify
+from zspotify.loader import Loader
EPISODE_INFO_URL = 'https://api.spotify.com/v1/episodes'
--- a/zspotify/termoutput.py
+++ b/zspotify/termoutput.py
@@ -2,8 +2,8 @@ import sys
from enum import Enum
from tqdm import tqdm
-from config import *
-from zspotify import ZSpotify
+from zspotify.config import *
+from zspotify.zspotify import ZSpotify
class PrintChannel(Enum):
--- a/zspotify/track.py
+++ b/zspotify/track.py
@@ -8,14 +8,14 @@ from librespot.audio.decoders import AudioQuality
from librespot.metadata import TrackId
from ffmpy import FFmpeg
-from const import TRACKS, ALBUM, GENRES, NAME, ITEMS, DISC_NUMBER, TRACK_NUMBER, IS_PLAYABLE, ARTISTS, IMAGES, URL, \
+from zspotify.const import TRACKS, ALBUM, GENRES, NAME, ITEMS, DISC_NUMBER, TRACK_NUMBER, IS_PLAYABLE, ARTISTS, IMAGES, URL, \
RELEASE_DATE, ID, TRACKS_URL, SAVED_TRACKS_URL, TRACK_STATS_URL, CODEC_MAP, EXT_MAP, DURATION_MS, HREF
-from termoutput import Printer, PrintChannel
-from utils import fix_filename, set_audio_tags, set_music_thumbnail, create_download_directory, \
+from zspotify.termoutput import Printer, PrintChannel
+from zspotify.utils import fix_filename, set_audio_tags, set_music_thumbnail, create_download_directory, \
get_directory_song_ids, add_to_directory_song_ids, get_previously_downloaded, add_to_archive, fmt_seconds
-from zspotify import ZSpotify
+from zspotify.zspotify import ZSpotify
import traceback
-from loader import Loader
+from zspotify.loader import Loader
def get_saved_tracks() -> list:
--- a/zspotify/utils.py
+++ b/zspotify/utils.py
@@ -10,9 +10,9 @@ from typing import List, Tuple
import music_tag
import requests
-from const import ARTIST, GENRE, TRACKTITLE, ALBUM, YEAR, DISCNUMBER, TRACKNUMBER, ARTWORK, \
+from zspotify.const import ARTIST, GENRE, TRACKTITLE, ALBUM, YEAR, DISCNUMBER, TRACKNUMBER, ARTWORK, \
WINDOWS_SYSTEM, ALBUMARTIST
-from zspotify import ZSpotify
+from zspotify.zspotify import ZSpotify
class MusicFormat(str, Enum):
--- a/zspotify/zspotify.py
+++ b/zspotify/zspotify.py
@@ -6,10 +6,10 @@ import requests
from librespot.audio.decoders import VorbisOnlyAudioQuality
from librespot.core import Session
-from const import TYPE, \
+from zspotify.const import TYPE, \
PREMIUM, USER_READ_EMAIL, OFFSET, LIMIT, \
PLAYLIST_READ_PRIVATE, USER_LIBRARY_READ
-from config import Config
+from zspotify.config import Config
class ZSpotify:
SESSION: Session = None
@@ -75,7 +75,7 @@ class ZSpotify:
@classmethod
def invoke_url(cls, url, tryCount=0):
# we need to import that here, otherwise we will get circular imports!
- from termoutput import Printer, PrintChannel
+ from zspotify.termoutput import Printer, PrintChannel
headers = cls.get_auth_header()
response = requests.get(url, headers=headers)
responsetext = response.text
|