Skip to content

Commit

Permalink
Black formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
linsomniac committed Feb 5, 2024
1 parent 200097d commit e05736c
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 32 deletions.
12 changes: 5 additions & 7 deletions spotify2ytmusic/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def load_playlists_json(filename: str = "playlists.json", encoding: str = "utf-8


def create_playlist(pl_name: str) -> None:
""" Create a YTMusic playlist
"""Create a YTMusic playlist
Args:
Expand Down Expand Up @@ -233,9 +233,7 @@ def lookup_song(
# This would need to do fuzzy matching
for song in songs:
# Remove everything in brackets in the song title
song_title_without_brackets = re.sub(
r"[\[(].*?[])]", "", song["title"]
)
song_title_without_brackets = re.sub(r"[\[(].*?[])]", "", song["title"])
if (
(
song_title_without_brackets == track_name
Expand Down Expand Up @@ -382,21 +380,21 @@ def copy_playlist(
"""
yt = get_ytmusic()
pl_name: str = ""

if ytmusic_playlist_id.startswith("+"):
pl_name = ytmusic_playlist_id[1:]

ytmusic_playlist_id = get_playlist_id_by_name(yt, pl_name)
print(f"Looking up playlist '{pl_name}': id={ytmusic_playlist_id}")

if ytmusic_playlist_id == "":
if pl_name == "":
print("No playlist name or ID provided, creating playlist...")
spotify_pls: dict = load_playlists_json()
for pl in spotify_pls["playlists"]:
if len(pl.keys()) > 3 and pl["id"] == spotify_playlist_id:
pl_name = pl["name"]

ytmusic_playlist_id = _ytmusic_create_playlist(
yt, title=pl_name, description=pl_name
)
Expand Down
2 changes: 1 addition & 1 deletion spotify2ytmusic/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import os
from argparse import ArgumentParser

import backend
from . import backend


def list_liked_albums():
Expand Down
83 changes: 59 additions & 24 deletions spotify2ytmusic/gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,15 @@ def __init__(self) -> None:
self.tab5 = ttk.Frame(self.tabControl)
self.tab6 = ttk.Frame(self.tabControl)
self.tab7 = ttk.Frame(self.tabControl)
self.tabControl.add(self.tab0, text='Login to YT Music')
self.tabControl.add(self.tab1, text='Spotify backup')

self.tabControl.add(self.tab0, text="Login to YT Music")
self.tabControl.add(self.tab1, text="Spotify backup")
# self.tabControl.add(self.tab2, text='Reverse playlist')
self.tabControl.add(self.tab3, text='Load liked songs')
self.tabControl.add(self.tab4, text='List playlists')
self.tabControl.add(self.tab5, text='Copy all playlists')
self.tabControl.add(self.tab6, text='Copy a specific playlist')
self.tabControl.add(self.tab7, text='Settings')
self.tabControl.add(self.tab3, text="Load liked songs")
self.tabControl.add(self.tab4, text="List playlists")
self.tabControl.add(self.tab5, text="Copy all playlists")
self.tabControl.add(self.tab6, text="Copy a specific playlist")
self.tabControl.add(self.tab7, text="Settings")

# Create a Frame for the logs
self.log_frame = ttk.Frame(self.paned_window)
Expand All @@ -114,15 +114,21 @@ def __init__(self) -> None:

# tab1

create_label(self.tab1, text="First, you need to backup your spotify playlists").pack(anchor=tk.CENTER,
expand=True)
create_button(self.tab1, text="Backup", command=lambda: self.call_func(func=spotify_backup.main, args=(), next_tab=self.tab3)).pack(
anchor=tk.CENTER, expand=True)
create_label(
self.tab1, text="First, you need to backup your spotify playlists"
).pack(anchor=tk.CENTER, expand=True)
create_button(
self.tab1,
text="Backup",
command=lambda: self.call_func(
func=spotify_backup.main, args=(), next_tab=self.tab3
),
).pack(anchor=tk.CENTER, expand=True)

# # tab2

# this was implemented in the backend.py file

# create_label(self.tab2,
# text="Since this program likes the last added song first, you need to reverse the playlist if "
# "you want to keep the exact same playlists.\nBut this step is not mandatory, you can skip "
Expand All @@ -132,10 +138,24 @@ def __init__(self) -> None:
# create_button(self.tab2, text="Reverse", command=self.call_reverse).pack(anchor=tk.CENTER, expand=True)

# tab3
create_label(self.tab3, text="Now, you can load your liked songs.").pack(anchor=tk.CENTER, expand=True)
create_button(self.tab3, text="Load", command=lambda x: self.call_func(
func=backend.copier, args=(backend.iter_spotify_playlist(), None, False, 0.1, self.var_algo.get()), next_tab=self.tab4)
).pack(anchor=tk.CENTER, expand=True)
create_label(self.tab3, text="Now, you can load your liked songs.").pack(
anchor=tk.CENTER, expand=True
)
create_button(
self.tab3,
text="Load",
command=lambda x: self.call_func(
func=backend.copier,
args=(
backend.iter_spotify_playlist(),
None,
False,
0.1,
self.var_algo.get(),
),
next_tab=self.tab4,
),
).pack(anchor=tk.CENTER, expand=True)

# tab4
create_label(
Expand All @@ -144,7 +164,9 @@ def __init__(self) -> None:
create_button(
self.tab4,
text="List",
command=lambda: self.call_func(func=cli.list_playlists, args=(), next_tab=self.tab5),
command=lambda: self.call_func(
func=cli.list_playlists, args=(), next_tab=self.tab5
),
).pack(anchor=tk.CENTER, expand=True)

# tab5
Expand All @@ -156,7 +178,11 @@ def __init__(self) -> None:
create_button(
self.tab5,
text="Copy",
command=lambda: self.call_func(func=backend.copy_all_playlists, args=(0.1, False, "utf-8", self.var_algo.get()), next_tab=self.tab6),
command=lambda: self.call_func(
func=backend.copy_all_playlists,
args=(0.1, False, "utf-8", self.var_algo.get()),
next_tab=self.tab6,
),
).pack(anchor=tk.CENTER, expand=True)

# tab6
Expand All @@ -174,9 +200,15 @@ def __init__(self) -> None:
)
self.yt_playlist_id = tk.Entry(self.tab6)
self.yt_playlist_id.pack(anchor=tk.CENTER, expand=True)
create_button(self.tab6, text="Copy", command=lambda: self.call_func(
func=backend.copy_playlist, args=(self.spotify_playlist_id.get(), self.yt_playlist_id.get()), next_tab=self.tab6)
).pack(anchor=tk.CENTER, expand=True)
create_button(
self.tab6,
text="Copy",
command=lambda: self.call_func(
func=backend.copy_playlist,
args=(self.spotify_playlist_id.get(), self.yt_playlist_id.get()),
next_tab=self.tab6,
),
).pack(anchor=tk.CENTER, expand=True)

# tab7
self.var_scroll = tk.BooleanVar()
Expand Down Expand Up @@ -305,7 +337,10 @@ def load_write_settings(self, action: int) -> None:
self.var_algo.set(settings["algo_number"])
else:
with open("settings.json", "w+") as f:
settings = {"auto_scroll": self.var_scroll.get(), "algo_number": self.var_algo.get()}
settings = {
"auto_scroll": self.var_scroll.get(),
"algo_number": self.var_algo.get(),
}
json.dump(settings, f)

self.algo_label.config(text=f"Algorithm: {texts[self.var_algo.get()]}")
Expand Down

0 comments on commit e05736c

Please sign in to comment.