def __init__(self): RB.BrowserSource.__init__(self, name=_("Jamendo")) # catalogue stuff self.hate = self self.__db = None self.__saxHandler = None self.__activated = False self.__notify_id = 0 self.__update_id = 0 self.__info_screen = None self.__updating = True self.__load_current_size = 0 self.__load_total_size = 0 self.__db_load_finished = False self.__catalogue_loader = None self.__catalogue_check = None self.__jamendo_dir = RB.find_user_cache_file("jamendo") if os.path.exists(self.__jamendo_dir) is False: os.makedirs(self.__jamendo_dir, 0700) self.__local_catalogue_path = os.path.join(self.__jamendo_dir, "dbdump.xml") self.__local_catalogue_temp = os.path.join(self.__jamendo_dir, "dbdump.xml.tmp") self.settings = Gio.Settings("org.gnome.rhythmbox.plugins.jamendo")
def __set_client(self): """ setup the client api """ cache_dir = RB.find_user_cache_file("baidu-music") if not os.path.isdir(cache_dir): os.mkdir(cache_dir) cookie = RB.find_user_cache_file("baidu-music/cookie") self.client = Client(cookie, debug=False) username = self.settings.get_string("username") password = self.settings.get_string("password") if username and password and not self.client.islogin: try: self.client.login(username, password) except Exception, e: self.settings["username"] = "" self.settings["password"] = ""
def do_selected(self): if not self.activated: # setup the popup menu shell = self.props.shell self.popup = shell.props.ui_manager.get_widget(self.popup_widget) self.set_entry_view() self.__playlist = RB.find_user_cache_file(TEMP_PLAYLIST) if not os.path.isfile(self.__playlist): os.mknod(self.__playlist) else: try: song_ids = pickle.load(open(self.__playlist, "rb")) songs = self.get_songs(song_ids) self.add(songs) except Exception, e: pass self.activated = True