def toggle_auto_play():
    if __autoplay_enabled():
        addon.setSetting('auto-play', 'false')
        kodi.notify(msg='SALTS Auto-Play Turned Off')
    else:
        addon.setSetting('auto-play', 'true')
        kodi.notify(msg='SALTS Auto-Play Turned On')
Example #2
0
    def check_resolver(self):

        try:
            r = cache.get(
                client.request, 1,
                base64.b64decode(
                    'aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3hpYmFsYmExMC9zY3JpcHQubW9kdWxlLmFkdWx0cmVzb2x2ZXIvbWFzdGVyL2xpYi9hZHVsdHJlc29sdmVyL3Jlc29sdmVyLnB5'
                ))
            if len(r) > 1:
                with open(self.resolverFile, 'r') as f:
                    compfile = f.read()
                if 'import' in r:
                    if compfile == r:
                        log_utils.log('Resolver checked and up to date!',
                                      log_utils.LOGNOTICE)
                        pass
                    else:
                        with open(self.resolverFile, 'w') as f:
                            f.write(r)
                        log_utils.log('Resolver updated!', log_utils.LOGNOTICE)
                        kodi.notify(msg='Resolver Updated.',
                                    duration=1250,
                                    sound=True)
        except Exception as e:
            log_utils.log(
                'Error checking for resolver update :: Error: %s' % str(e),
                log_utils.LOGERROR)
Example #3
0
def toggle_auto_play():
    if __autoplay_enabled():
        addon.setSetting('auto-play', 'false')
        kodi.notify(msg='SALTS Auto-Play Turned Off')
    else:
        addon.setSetting('auto-play', 'true')
        kodi.notify(msg='SALTS Auto-Play Turned On')
Example #4
0
def toggle_auto_play():
    addon = xbmcaddon.Addon('plugin.video.salts')
    auto_play = addon.getSetting('auto-play')
    if auto_play == 'true':
        addon.setSetting('auto-play', 'false')
        kodi.notify(msg='SALTS Auto-Play Turned Off')
    else:
        addon.setSetting('auto-play', 'true')
        kodi.notify(msg='SALTS Auto-Play Turned On')
Example #5
0
def toggle_auto_play():
    addon = xbmcaddon.Addon('plugin.video.salts')
    auto_play = addon.getSetting('auto-play')
    if auto_play == 'true':
        addon.setSetting('auto-play', 'false')
        kodi.notify(msg='SALTS Auto-Play Turned Off')
    else:
        addon.setSetting('auto-play', 'true')
        kodi.notify(msg='SALTS Auto-Play Turned On')
Example #6
0
def main(argv=None):
    try:
        if kodi.get_setting('email_prompt') != 'true' and not kodi.get_setting(
                'email'):
            kodi.set_setting('email_prompt', 'true')
            kodi.show_settings()

        if __confirm_upload():
            upload_logs()
    except Exception as e:
        log_utils.log('Uploader Error: %s' % (e), log_utils.LOGWARNING)
        kodi.notify(msg=str(e))
        raise
Example #7
0
def main(argv=None):
    if sys.argv: argv = sys.argv
    log_utils.log('Version: |%s|' % (kodi.get_version()))
    log_utils.log('Args: |%s|' % (argv))
    path = xbmc.getInfoLabel('ListItem.FileNameAndPath')
    if not path:
        path = xbmc.getInfoLabel('ListItem.Path')
        
    if __is_salts_listitem(path):
        dialog = xbmcgui.Dialog()
        tools = __get_tools(path)
        ret = dialog.select('SALTS Tools', [i[0] for i in tools])
        if ret > -1:
            tools[ret][1](*tools[ret][2])
    else:
        kodi.notify(msg='Not a SALTS Library Item')
Example #8
0
def main(argv=None):
    if sys.argv: argv = sys.argv
    log_utils.log('Version: |%s|' % (kodi.get_version()))
    log_utils.log('Args: |%s|' % (argv))
    path = xbmc.getInfoLabel('ListItem.FileNameAndPath')
    if not path:
        path = xbmc.getInfoLabel('ListItem.Path')

    if __is_salts_listitem(path):
        dialog = xbmcgui.Dialog()
        tools = __get_tools(path)
        ret = dialog.select('SALTS Tools', [i[0] for i in tools])
        if ret > -1:
            tools[ret][1](*tools[ret][2])
    else:
        kodi.notify(msg='Not a SALTS Library Item')
Example #9
0
def upload_logs():
    logs = __get_logs()
    results = {}
    last_error = ''
    uploaders = uploader.Uploader.__class__.__subclasses__(uploader.Uploader)
    uploaders = [
        klass for klass in uploaders if SERVER_ORDER.get(klass.name, 100)
        and kodi.get_setting('enable_%s' % (klass.name)) == 'true'
    ]
    uploaders.sort(key=lambda x: SERVER_ORDER.get(x.name, 100))
    if not uploaders: last_error = 'No Uploaders Enabled'
    for log in logs:
        full_path, name = log
        if '.old.' not in name or kodi.get_setting('include_old') == 'true':
            with open(full_path, 'r') as f:
                log = f.read()

            for pattern, replace in REPLACES:
                log = re.sub(pattern, replace, log)

            for klass in uploaders:
                try:
                    log_service = klass()
                    result = log_service.upload_log(log, name)
                    results[log_service.name] = results.get(
                        log_service.name, {
                            'service': log_service,
                            'results': {}
                        })
                    results[log_service.name]['results'][name] = result
                    break
                except UploaderError as e:
                    log_utils.log(
                        'Uploader Error: (%s) %s: %s' %
                        (log_service.__class__.__name__, name, e),
                        log_utils.LOGWARNING)
                    last_error = str(e)
            else:
                log_utils.log(
                    'No successful upload for: %s Last Error: %s' %
                    (name, last_error), log_utils.LOGWARNING)

    if results:
        email = None
        if email:
            for service in results:
                try:
                    success = results[service]['service'].send_email(
                        email, results[service]['results'])
                    results[service]['email'] = success
                except UploaderError as e:
                    log_utils.log('Email Error: (%s): %s' % (service, e),
                                  log_utils.LOGWARNING)
                    results[service]['email'] = False

        args = [i18n('logs_uploaded')]
        for _, name in FILES:
            for service in results:
                if name in results[service]['results']:
                    line = '%s: %s' % (name, results[service]['results'][name])
                    args.append(line)
                    log_utils.log(
                        '[COLOR white]Log Uploaded: %s: %s[/COLOR]' %
                        (name, results[service]['results'][name]),
                        log_utils.LOGNOTICE)

        xbmcgui.Dialog().ok(*args)
    else:
        kodi.notify(i18n('logs_failed') % (last_error), duration=5000)