def __init__(self, args): threading.Thread.__init__(self) # initialize progress meter self.progress = Progress(args, self) self.args = args # initially logged-out self.logged_out.set() config = spotify.Config() self.post = PostActions(args, self) self.web = WebAPI(args, self) proxy = os.environ.get('http_proxy') if proxy is not None: config.proxy = proxy # Application key if not path_exists(settings_dir()): os.makedirs(enc_str(settings_dir())) app_key_path = os.path.join(settings_dir(), "spotify_appkey.key") if not path_exists(app_key_path): print("\n" + Fore.RED + "Please copy your spotify_appkey.key to " + settings_dir() + Fore.RESET) sys.exit(1) config.load_application_key_file(app_key_path) config.settings_location = settings_dir() config.cache_location = settings_dir() self.session = spotify.Session(config=config) self.session.volume_normalization = args.normalize # disable scrobbling self.session.social.set_scrobbling(spotify.SocialProvider.SPOTIFY, spotify.ScrobblingState.LOCAL_DISABLED) self.session.social.set_scrobbling(spotify.SocialProvider.FACEBOOK, spotify.ScrobblingState.LOCAL_DISABLED) self.session.social.set_scrobbling(spotify.SocialProvider.LASTFM, spotify.ScrobblingState.LOCAL_DISABLED) bit_rates = dict([('160', BitRate.BITRATE_160K), ('320', BitRate.BITRATE_320K), ('96', BitRate.BITRATE_96K)]) self.session.preferred_bitrate(bit_rates[args.quality]) self.session.on(spotify.SessionEvent.CONNECTION_STATE_UPDATED, self.on_connection_state_changed) self.session.on(spotify.SessionEvent.END_OF_TRACK, self.on_end_of_track) self.session.on(spotify.SessionEvent.MUSIC_DELIVERY, self.on_music_delivery) self.session.on(spotify.SessionEvent.PLAY_TOKEN_LOST, self.play_token_lost) self.session.on(spotify.SessionEvent.LOGGED_IN, self.on_logged_in) self.event_loop = EventLoop(self.session, 0.1, self)
def __init__(self, args): threading.Thread.__init__(self) # initialize progress meter self.progress = Progress(args, self) self.args = args # initially logged-out self.logged_out.set() config = spotify.Config() default_dir = default_settings_dir() self.post = PostActions(args, self) # application key location if args.key is not None: config.load_application_key_file(args.key[0]) else: if not os.path.exists(default_dir): os.makedirs(default_dir) app_key_path = os.path.join(default_dir, "spotify_appkey.key") if not os.path.exists(app_key_path): print("\n" + Fore.YELLOW + "Please copy your spotify_appkey.key to " + default_dir + ", or use the --key|-k option" + Fore.RESET) sys.exit(1) config.load_application_key_file(app_key_path) # settings directory if args.settings is not None: settings_dir = norm_path(args.settings[0]) config.settings_location = settings_dir config.cache_location = settings_dir else: config.settings_location = default_dir config.cache_location = default_dir self.session = spotify.Session(config=config) self.session.volume_normalization = args.normalize # disable scrobbling self.session.social.set_scrobbling( spotify.SocialProvider.SPOTIFY, spotify.ScrobblingState.LOCAL_DISABLED) self.session.social.set_scrobbling( spotify.SocialProvider.FACEBOOK, spotify.ScrobblingState.LOCAL_DISABLED) self.session.social.set_scrobbling( spotify.SocialProvider.LASTFM, spotify.ScrobblingState.LOCAL_DISABLED) bit_rates = dict([('160', BitRate.BITRATE_160K), ('320', BitRate.BITRATE_320K), ('96', BitRate.BITRATE_96K)]) self.session.preferred_bitrate(bit_rates[args.quality]) self.session.on(spotify.SessionEvent.CONNECTION_STATE_UPDATED, self.on_connection_state_changed) self.session.on(spotify.SessionEvent.END_OF_TRACK, self.on_end_of_track) self.session.on(spotify.SessionEvent.MUSIC_DELIVERY, self.on_music_delivery) self.session.on(spotify.SessionEvent.PLAY_TOKEN_LOST, self.play_token_lost) self.session.on(spotify.SessionEvent.LOGGED_IN, self.on_logged_in) self.event_loop = EventLoop(self.session, 0.1, self)