Files
deezspot-spotizerr-dev/deezspot/models/download/preferences.py

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