Skip to content

Commit

Permalink
Fixed imports
Browse files Browse the repository at this point in the history
Took 10 minutes
  • Loading branch information
TheNathanSpace committed Nov 5, 2021
1 parent 6569fab commit d3c1107
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 73 deletions.
8 changes: 4 additions & 4 deletions ideemyouworthy/download_finished_listener.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
from deemix.__main__ import LogListener
from tinytag import TinyTag

from DownloadedTrack import DownloadedTrack
from TrackManagerNew import TrackManagerNew
from downloaded_track import DownloadedTrack
from track_manager import TrackManager


class DownloadFinishedListenerNew(LogListener):
def __init__(self, track_manager: TrackManagerNew, logger: Logger):
class DownloadFinishedListener(LogListener):
def __init__(self, track_manager: TrackManager, logger: Logger):
self.track_manager = track_manager
self.logger: Logger = logger

Expand Down
63 changes: 31 additions & 32 deletions ideemyouworthy/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,11 @@
import json
import logging
import os
import shutil
from pathlib import Path

from deemix.downloader import Downloader
from deezer import Deezer

import androidmanager
import util
from DownloadFinishedListenerNew import DownloadFinishedListenerNew
from DownloadedTrack import DownloadedTrack
from PlaylistManagerNew import PlaylistManagerNew
from TrackManagerNew import TrackManagerNew
from accountmanager import AccountManager
from logmanager import LogManager
from youtubemanager import YoutubeManager

# START TESTING

# delete_path = Path(Path.cwd().parent / "playlists")
Expand All @@ -35,6 +24,15 @@
# print(" pip install -r requirements.txt")
# print("(If you have errors, try: python -m pip install -r requirements.txt)")
# print()
import android_manager
import util
from account_manager import AccountManager
from download_finished_listener import DownloadFinishedListener
from downloaded_track import DownloadedTrack
from log_manager import LogManager
from playlist_manager import PlaylistManager
from track_manager import TrackManager
from youtube_manager import YoutubeManager

print("Welcome to iDeemYouWorthy!")
print()
Expand All @@ -43,31 +41,32 @@
logger = logging.getLogger('iDYW')

got_settings = False
user_settings_dict = json.loads(Path(Path.cwd().parents[0] / "user_settings.json").read_text(encoding = "utf-8"))
if user_settings_dict["always_use_user_settings"]:
get_user_playlists = user_settings_dict["get_user_playlists"]
get_custom_playlists = user_settings_dict["get_custom_playlists"]
use_itunes = user_settings_dict["use_itunes"]
fix_itunes = user_settings_dict["fix_itunes"]
make_m3u = user_settings_dict["make_m3u"]
verify_path_lengths = user_settings_dict["verify_path_lengths"]
copy_to_android = user_settings_dict["copy_to_android"]
logger.info("Loaded settings from user_settings.json (change \"always_use_user_settings\" to stop this)")
got_settings = True
else:
use_user_settings = input("Load settings from user_settings.json? (will save for future runs) [y/n] ") == "y"
if use_user_settings:
user_settings_dict["always_use_user_settings"] = True
if Path(Path.cwd().parents[0] / "user_settings.json").exists():
user_settings_dict = json.loads(Path(Path.cwd().parents[0] / "user_settings.json").read_text(encoding = "utf-8"))
if user_settings_dict["always_use_user_settings"]:
get_user_playlists = user_settings_dict["get_user_playlists"]
get_custom_playlists = user_settings_dict["get_custom_playlists"]
use_itunes = user_settings_dict["use_itunes"]
fix_itunes = user_settings_dict["fix_itunes"]
make_m3u = user_settings_dict["make_m3u"]
verify_path_lengths = user_settings_dict["verify_path_lengths"]
copy_to_android = user_settings_dict["copy_to_android"]
Path(Path.cwd().parents[0] / "user_settings.json").write_text(json.dumps(user_settings_dict, indent = 4, ensure_ascii = True), encoding = "utf-8")
logger.info("Loaded settings from user_settings.json. Stored this preference for the future.")
logger.info("Loaded settings from user_settings.json (change \"always_use_user_settings\" to stop this)")
got_settings = True
else:
use_user_settings = input("Load settings from user_settings.json? (will save for future runs) [y/n] ") == "y"
if use_user_settings:
user_settings_dict["always_use_user_settings"] = True
get_user_playlists = user_settings_dict["get_user_playlists"]
get_custom_playlists = user_settings_dict["get_custom_playlists"]
use_itunes = user_settings_dict["use_itunes"]
fix_itunes = user_settings_dict["fix_itunes"]
make_m3u = user_settings_dict["make_m3u"]
verify_path_lengths = user_settings_dict["verify_path_lengths"]
copy_to_android = user_settings_dict["copy_to_android"]
Path(Path.cwd().parents[0] / "user_settings.json").write_text(json.dumps(user_settings_dict, indent = 4, ensure_ascii = True), encoding = "utf-8")
logger.info("Loaded settings from user_settings.json. Stored this preference for the future.")
got_settings = True

if not got_settings:
logger.debug("Requesting user settings input")
Expand All @@ -93,7 +92,7 @@
youtube_tag_dict = collections.OrderedDict()
youtube_manager = YoutubeManager(log_manager, logger, account_manager.spotipy, music_directory, youtube_tag_dict)

playlist_manager = PlaylistManagerNew(logger = logger, account_manager = account_manager)
playlist_manager = PlaylistManager(logger = logger, account_manager = account_manager)

if get_user_playlists:
playlist_manager.retrieve_spotify_playlists()
Expand All @@ -114,11 +113,11 @@

logger.info(f"Found {str(len1 + len2)} new tracks in total")

track_manager = TrackManagerNew(logger = logger, account_manager = account_manager)
track_manager = TrackManager(logger = logger, account_manager = account_manager)
track_manager.unique_spotify_tracks = unique_spotify_tracks
track_manager.custom_tracks = all_custom_tracks

listener = DownloadFinishedListenerNew(track_manager = track_manager, logger = logger)
listener = DownloadFinishedListener(track_manager = track_manager, logger = logger)
logger.info("Converting Spotify tracks to deezer and YouTube, this might take a while...")
track_manager.process_spotify_tracks(deezer_object = deezer_object, listener = listener, youtube_manager = youtube_manager)
track_manager.process_custom_tracks(youtube_manager = youtube_manager)
Expand Down Expand Up @@ -170,7 +169,7 @@
os.system("adb start-server")

try:
androidmanager.transfer_all(logger)
android_manager.transfer_all(logger)
break
except Exception as e:
logger.error("Error copying files to Android:")
Expand Down
14 changes: 1 addition & 13 deletions ideemyouworthy/playlist.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,11 @@
from spotipy import SpotifyException

import util
from accountmanager import AccountManager
from account_manager import AccountManager


class Playlist:

# Methods:
# - Save to name.json
# - Export to name.m3u
# Fields:
# x Spotify URI
# x Name
# x Spotify song list
# x New tracks list
# x Deezer song list
# x Extra song list
# - M3U file

def __init__(self, spotify_uri: str, name: str, logger: Logger, account_manager: AccountManager):
self.spotify_uri: str = spotify_uri
self.name = name
Expand Down
15 changes: 4 additions & 11 deletions ideemyouworthy/playlist_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
from spotipy import SpotifyException

import util
from DownloadedTrack import DownloadedTrack
from Playlist import Playlist
from accountmanager import AccountManager
from account_manager import AccountManager
from downloaded_track import DownloadedTrack
from playlist import Playlist


def url_to_uri(url):
Expand All @@ -22,14 +22,7 @@ def url_to_uri(url):
return None


class PlaylistManagerNew:

# Methods:
# x Load playlists from custom_playlists.json
# x Load playlists from Spotify account
# Fields:
# x List of Playlists
# x AccountManager
class PlaylistManager:

def __init__(self, logger: Logger, account_manager: AccountManager):
self.logger: Logger = logger
Expand Down
15 changes: 4 additions & 11 deletions ideemyouworthy/track_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,12 @@
from tinytag import TinyTag

import util
from DownloadedTrack import DownloadedTrack
from accountmanager import AccountManager
from youtubemanager import YoutubeManager
from account_manager import AccountManager
from downloaded_track import DownloadedTrack
from youtube_manager import YoutubeManager


class TrackManagerNew:

# Methods:
# x Load playlists from custom_playlists.json
# x Load playlists from Spotify account
# Fields:
# x List of Playlists
# x AccountManager
class TrackManager:

def __init__(self, logger: Logger, account_manager: AccountManager):
self.logger = logger
Expand Down
4 changes: 2 additions & 2 deletions ideemyouworthy/youtube_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import yt_dlp

import util
from DownloadedTrack import DownloadedTrack
from logmanager import YTLogger, LogManager
from downloaded_track import DownloadedTrack
from log_manager import LogManager, YTLogger


class YoutubeManager:
Expand Down

0 comments on commit d3c1107

Please sign in to comment.