# Path: lib/libs/pykodi.py
# ADDONID = 'script.artwork.beef'
# def get_main_addon():
# def is_addon_watched():
# def get_kodi_version():
# def localize(messageid):
# def get_conditional(conditional):
# def get_infolabel(infolabel):
# def execute_builtin(builtin_command):
# def datetime_now():
# def datetime_strptime(date_string, format_string):
# def execute_jsonrpc(jsonrpc_command):
# def log(message, level=xbmc.LOGDEBUG, tag=None):
# def scrub_message(message):
# def set_log_scrubstring(key, string):
# def get_language(language_format=xbmc.ENGLISH_NAME, region=False):
# def unquoteimage(imagestring):
# def quoteimage(imagestring):
# def unquotearchive(filepath):
# def get_command(*first_arg_keys):
# def get_busydialog():
#     def __init__(self, *args, **kwargs):
#     def get_setting(self, settingid):
#     def set_setting(self, settingid, value):
#     def __init__(self, *args, **kwargs):
#     def default(self, obj):
#     def __init__(self, *args, **kwargs):
#     def iterencode(self, obj, _one_shot=False):
#     def raw_decode(self, s, idx=0):
#     def _json_unicode_to_str(self, jsoninput):
#     def __init__(self):
#     def create(self):
#     def close(self):
#     def __del__(self):
# class Addon(xbmcaddon.Addon):
# class ObjectJSONEncoder(json.JSONEncoder):
# class UTF8PrettyJSONEncoder(ObjectJSONEncoder):
# class UTF8JSONDecoder(json.JSONDecoder):
# class DialogBusy(object):


import xbmc
    import projectkeys
from lib.libs import pykodi
            from lib.libs import quickjson

try:
except ImportError:
    projectkeys = None

addon = pykodi.get_main_addon()

DEFAULT_IMAGESIZE = '1'
AVAILABLE_IMAGESIZES = {'0': (10000, 10000, 600), '1': (1920, 1080, 600), '2': (1280, 720, 480)}

PROGRESS_DISPLAY_FULLPROGRESS = '0'
PROGRESS_DISPLAY_WARNINGSERRORS = '1'
PROGRESS_DISPLAY_NONE = '2' # Only add-on crashes

EXCLUSION_PATH_TYPE_FOLDER = '0'
EXCLUSION_PATH_TYPE_PREFIX = '1'
EXCLUSION_PATH_TYPE_REGEX = '2'

class Settings(object):
    def __init__(self):
        self.addon_path = addon.path
        self.datapath = addon.datapath
        self._autoadd_episodes = ()
        self.update_settings()
        self.update_useragent()

    def update_useragent(self):
        beefversion = pykodi.get_main_addon().version

# Path: lib/libs/pykodi.py
# ADDONID = 'script.artwork.beef'
# def get_main_addon():
# def is_addon_watched():
# def get_kodi_version():
# def localize(messageid):
# def get_conditional(conditional):
# def get_infolabel(infolabel):
# def execute_builtin(builtin_command):
# def datetime_now():
# def datetime_strptime(date_string, format_string):
# def execute_jsonrpc(jsonrpc_command):
# def log(message, level=xbmc.LOGDEBUG, tag=None):
# def scrub_message(message):
# def set_log_scrubstring(key, string):
# def get_language(language_format=xbmc.ENGLISH_NAME, region=False):
# def unquoteimage(imagestring):
# def quoteimage(imagestring):
# def unquotearchive(filepath):
# def get_command(*first_arg_keys):
# def get_busydialog():
#     def __init__(self, *args, **kwargs):
#     def get_setting(self, settingid):
#     def set_setting(self, settingid, value):
#     def __init__(self, *args, **kwargs):
#     def default(self, obj):
#     def __init__(self, *args, **kwargs):
#     def iterencode(self, obj, _one_shot=False):
#     def raw_decode(self, s, idx=0):
#     def _json_unicode_to_str(self, jsoninput):
#     def __init__(self):
#     def create(self):
#     def close(self):
#     def __del__(self):
# class Addon(xbmcaddon.Addon):
# class ObjectJSONEncoder(json.JSONEncoder):
# class UTF8PrettyJSONEncoder(ObjectJSONEncoder):
# class UTF8JSONDecoder(json.JSONDecoder):
# class DialogBusy(object):


# Path: lib/libs/addonsettings.py
import xbmc
    import projectkeys
from lib.libs import pykodi
            from lib.libs import quickjson


try:
except ImportError:
    projectkeys = None

addon = pykodi.get_main_addon()

DEFAULT_IMAGESIZE = '1'
AVAILABLE_IMAGESIZES = {'0': (10000, 10000, 600), '1': (1920, 1080, 600), '2': (1280, 720, 480)}

PROGRESS_DISPLAY_FULLPROGRESS = '0'
PROGRESS_DISPLAY_WARNINGSERRORS = '1'
PROGRESS_DISPLAY_NONE = '2' # Only add-on crashes

EXCLUSION_PATH_TYPE_FOLDER = '0'
EXCLUSION_PATH_TYPE_PREFIX = '1'
EXCLUSION_PATH_TYPE_REGEX = '2'

class Settings(object):
    def __init__(self):
        self.addon_path = addon.path
        self.datapath = addon.datapath
        self._autoadd_episodes = ()
        self.update_settings()
        self.update_useragent()

    def update_useragent(self):
        beefversion = pykodi.get_main_addon().version

        if pykodi.get_kodi_version() < 17: