def get_audio(self): api_handler = APIHandler(self.api) music_handler = LoadMusicHandler(api_handler) count_audios = api_handler.get_count_audio(user_id=self.user_id) data = music_handler.load_all_music(user_id=self.user_id, count=count_audios) return data
def dumps(self, obj): envelope = {'email': self.email, 'data': obj} url_parts = self.request.path.split('/') bucket = url_parts[len(url_parts) - 1] bucket = urllib.unquote(bucket) envelope['type'] = bucket APIHandler.dumps(self, envelope)
def dumps(self, obj): envelope = { 'email': self.email, 'data': obj } url_parts = self.request.path.split('/') bucket = url_parts[len(url_parts) - 1] bucket = urllib.unquote(bucket) envelope['type'] = bucket APIHandler.dumps(self, envelope)
class LoadMusic(QThread): music = pyqtSignal(list) error = pyqtSignal(str) count_tracks = pyqtSignal(int) warning_message_count_audios = pyqtSignal(str) loaded = pyqtSignal(bool) def __init__(self, api, user_id): super().__init__() self.api = api self.user_id = user_id self.api_handler = APIHandler(self.api) self.music_handler = LoadMusicHandler(api_handler=self.api_handler) def run(self): try: self.loaded.emit(False) count_audios = self.api_handler.get_count_audio( user_id=self.user_id) self.count_tracks.emit(count_audios) data = self.music_handler.load_all_music(user_id=self.user_id, count=count_audios) self.music.emit(data) self.loaded.emit(True) stat.set_user_id(user_id=self.user_id) stat.send() except (VKLightError, Exception) as e: self.loaded.emit(True) self.error.emit(str(e)) self.music.emit([]) self.count_tracks.emit(0) def __del__(self): print("Bye bye ...") self.audios = None
def __init__(self, api, user_id): super().__init__() self.api = api self.user_id = user_id self.api_handler = APIHandler(self.api) self.music_handler = LoadMusicHandler(api_handler=self.api_handler)
def dumps_raw(self, obj): APIHandler.dumps(self, obj)
def go(self): login = self.lineEdit.text() password = self.lineEdit_2.text() r = None self.statusBar().showMessage('Loading...') self.oauth = VKLightOauth( dict(login=login, password=password, proxy=self.action.isChecked())) try: try: r = self.oauth.go() except VKLightOauthError as e: if 'need_validation' in e.error: if 'ban_info' in dir(e): return QMessageBox.critical(self, "F*CK", str(e)) code, ok = QInputDialog.getText( self, "Подтвердите номер", "Мы отправили SMS с кодом на номер") if ok: self.oauth = VKLightOauth( dict(login=login, password=password, proxy=self.action.isChecked(), code=code)) r = self.oauth.go() else: raise e except Exception as e: raise e self.statusBar().showMessage('Done!') except VKLightOauthError as e: if 'need_captcha' in e.error: return QMessageBox.critical(self, 'F*CK', 'F*CKING CAPTHA') else: return QMessageBox.critical(self, 'F*CK', str(e)) except Exception as e: self.statusBar().showMessage('Login failed :(') QMessageBox.critical(self, "F*CK", str(e)) else: access_token = r['access_token'] user_id = r['user_id'] or '' api = VKLight( dict(access_token=access_token, proxy=self.action.isChecked())) api_handler = APIHandler(api=api) self.statusBar().showMessage('Getting refresh_token') refresh_token = api_handler.refresh_token( access_token=access_token)['response']['token'] data = { 'access_token': access_token, 'token': refresh_token, 'user_id': user_id } utils.save_json(config.AuthFile, data) # Запуск главного окна self.window = MainWindow() self.hide() self.window.show()