astrXbian/.install/.kodi/addons/plugin.video.vstream/resources/lib/librecaptcha/librecaptcha.py

66 lines
1.9 KiB
Python

# Copyright (C) 2017, 2019 nickolas360 <contact@nickolas360.com>
#
# This file is part of librecaptcha.
#
# librecaptcha is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# librecaptcha is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with librecaptcha. If not, see <http://www.gnu.org/licenses/>.
from resources.lib.comaddon import progress, VSlog
from . import cli
from .errors import GtkImportError, UserError
from .recaptcha import ReCaptcha
__version__ = "0.6.3-dev"
def _get_gui():
try:
from . import gui
except GtkImportError:
raise UserError(
"Error: Could not load the GUI. Is PyGObject installed?\n"
"Try (re)installing librecaptcha[gtk] with pip.\n"
"For more details, add the --debug option.",
)
return gui
def has_gui():
try:
from . import gui # noqa: F401
except GtkImportError:
return False
return True
def get_token(api_key, site_url, user_agent, **_3to2kwargs):
if 'debug' in _3to2kwargs:
debug = _3to2kwargs['debug']; del _3to2kwargs['debug']
else:
debug = False
if 'gui' in _3to2kwargs:
gui = _3to2kwargs['gui']; del _3to2kwargs['gui']
else:
gui = False
rc = ReCaptcha(api_key, site_url, user_agent, debug=debug)
ui = (_get_gui().Gui if gui else cli.Cli)(rc)
uvtoken = None
def callback(token):
get_token.uvtoken = token
ui.run(callback)
return get_token.uvtoken