34 lines
1.7 KiB
Python
34 lines
1.7 KiB
Python
#!/usr/bin/python3
|
|
|
|
class Preferences:
|
|
def __init__(self) -> None:
|
|
self.link = None
|
|
self.song_metadata: dict = None
|
|
self.quality_download = None
|
|
self.output_dir = None
|
|
self.ids = None
|
|
self.json_data = None
|
|
self.playlist_tracks_json = None
|
|
self.recursive_quality = None
|
|
self.recursive_download = None
|
|
self.not_interface = None
|
|
self.make_zip = None
|
|
self.real_time_dl = None
|
|
self.custom_dir_format = None
|
|
self.custom_track_format = None
|
|
self.pad_tracks = True # Default to padded track numbers (01, 02, etc.)
|
|
self.pad_number_width = 'auto' # New: number of digits for padding; 'auto' uses total tracks
|
|
self.initial_retry_delay = 30 # Default initial retry delay in seconds
|
|
self.retry_delay_increase = 30 # Default increase in delay between retries in seconds
|
|
self.max_retries = 5 # Default maximum number of retries per track
|
|
self.save_cover: bool = False # Option to save a cover.jpg image
|
|
# New: artist separator for joining multiple artists or album artists
|
|
self.artist_separator: str = "; "
|
|
# New: when True, use Spotify metadata for tagging in spo flows
|
|
self.spotify_metadata: bool = False
|
|
# New: optional Spotify trackObject to use when spotify_metadata is True
|
|
self.spotify_track_obj = None
|
|
# New: optional Spotify albumObject (from spotloader tracking_album) for album-level spotify_metadata
|
|
self.spotify_album_obj = None
|
|
# New: real-time throttling multiplier (0 disables pacing, 1=real-time, >1 speeds up up to 10x)
|
|
self.real_time_multiplier: int = 1 |