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
Example #2
0
    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)
Example #4
0
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
Example #5
0
 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)
Example #6
0
 def dumps_raw(self, obj):
     APIHandler.dumps(self, obj)
Example #7
0
    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()
 def dumps_raw(self, obj):
     APIHandler.dumps(self, obj)