def load_user_infos(cls, data): avatar_url = data["avatar"] request = QNetworkRequest(QUrl(avatar_url)) cls.controller.network_manager.get(request) cls.controller.network_manager.network_queue.put(ViewOp.set_login_label_avatar) ViewOp.ui.MY_LIST_WIDGET.empty_layout() ViewOp.ui.COLLECTION_LIST_WIDGET.empty_layout() playlists = cls.controller.api.get_user_playlist() if not cls.controller.api.is_response_ok(playlists): return playlist_num = len(playlists) for playlist in playlists: pid = playlist["id"] w = PlaylistItem() w.set_playlist_item(playlist) w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked) if cls.controller.api.is_playlist_mine(playlist): ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w) if pid == cls.controller.api.favorite_pid: favorite_playlist_detail = cls.controller.api.get_playlist_detail(pid) cls.controller.state["current_pid"] = pid ViewOp.ui.WEBVIEW.load_playlist(favorite_playlist_detail) else: if playlist_num <= 50: app_event_loop = asyncio.get_event_loop() app_event_loop.call_soon(cls.controller.api.get_playlist_detail, pid) else: ViewOp.ui.COLLECTION_LIST_WIDGET.layout().addWidget(w) LOG.info("load user infos finished")
def change_to_simi(self): PlaylistItem.de_active_all() if self.current_mode == 1: FmMode.exit_() elif self.current_mode == 2: ControllerApi.notify_widget.show_message("提示", "你正处于单曲电台模式") return self.current_mode = 2 ControllerApi.player.change_player_mode_to_other() SimiSongsMode.load_()
def new_playlist(cls): playlist = cls.controller.api.new_playlist("default") if playlist is None: cls.controller.notify_widget.show_message("◕◠◔", "新建歌单失败") return False w = PlaylistItem() w.set_playlist_item(playlist) w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked) ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w) w.edit_mode() return True
def _search_music(self): text = ViewOp.ui.SEARCH_BOX.text() if text != '': ViewOp.ui.STATUS_BAR.showMessage(u'正在搜索: ' + text) songs = ControllerApi.api.search(text) if not ControllerApi.api.is_response_ok(songs): return PlaylistItem.de_active_all() ViewOp.ui.WEBVIEW.load_brief_songs(songs) ControllerApi.state['current_pid'] = 0 length = len(songs) if length != 0: ViewOp.ui.STATUS_BAR.showMessage( u'搜索到 %s 首 %s 相关歌曲' % (str(length), text), 5000) return ViewOp.ui.STATUS_BAR.showMessage(u'Oops,没有找到相关歌曲', 5000) return
def load_user_infos(cls, data): avatar_url = data['avatar'] request = QNetworkRequest(QUrl(avatar_url)) cls.controller.network_manager.get(request) cls.controller.network_manager.network_queue.put( ViewOp.set_login_label_avatar) ViewOp.ui.MY_LIST_WIDGET.empty_layout() ViewOp.ui.COLLECTION_LIST_WIDGET.empty_layout() playlists = cls.controller.api.get_user_playlist() if not cls.controller.api.is_response_ok(playlists): return playlist_num = len(playlists) for playlist in playlists: pid = playlist['id'] w = PlaylistItem() w.set_playlist_item(playlist) w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked) if cls.controller.api.is_playlist_mine(playlist): ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w) if pid == cls.controller.api.favorite_pid: favorite_playlist_detail = cls.controller.api.get_playlist_detail( pid) cls.controller.state["current_pid"] = pid ViewOp.ui.WEBVIEW.load_playlist(favorite_playlist_detail) else: if playlist_num <= 50: app_event_loop = asyncio.get_event_loop() app_event_loop.call_soon( cls.controller.api.get_playlist_detail, pid) else: ViewOp.ui.COLLECTION_LIST_WIDGET.layout().addWidget(w) LOG.info('load user infos finished')
def new_playlist(cls): playlist = cls.controller.api.new_playlist('default') if playlist is None: cls.controller.notify_widget.show_message('◕◠◔', '新建歌单失败') return False w = PlaylistItem() w.set_playlist_item(playlist) w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked) ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w) w.edit_mode() return True