Esempio n. 1
0
    def handle_get(self):
        name = self.get_argument('name')
        url = self.get_argument('url')
        cookies = self.get_argument('cookies')
        title_tag = self.get_argument('titleTAG')

        providerObj = TorrentRssProvider(name, url, cookies, title_tag)
        if providerObj.id not in sickrage.app.search_providers.torrentrss():
            validate = providerObj.validateRSS()
            if validate['result']:
                return self.write(json_encode({'success': providerObj.id}))
            return self.write(json_encode({'error': validate['message']}))
        return self.write(json_encode({'error': 'Provider name already exists as {}'.format(name)}))
Esempio n. 2
0
sickrage.INDEXER_API = indexerApi

sickrage.NAMECACHE = nameCache()

sickrage.showList = []
sickrage.QUALITY_DEFAULT = 4  # hdtv
sickrage.FLATTEN_FOLDERS_DEFAULT = 0

sickrage.NAMING_PATTERN = ''
sickrage.NAMING_ABD_PATTERN = ''
sickrage.NAMING_SPORTS_PATTERN = ''
sickrage.NAMING_MULTI_EP = 1

sickrage.PROVIDER_ORDER = ["sick_beard_index"]
sickrage.newznabProviderList = NewznabProvider.getProviderList(NewznabProvider.getDefaultProviders())
sickrage.torrentRssProviderList = TorrentRssProvider.getProviderList(TorrentRssProvider.getDefaultProviders())
sickrage.metadataProvideDict = get_metadata_generator_dict()
sickrage.GUI_NAME = "slick"
sickrage.THEME_NAME = "dark"
sickrage.ROOT_DIR = sickrage.DATA_DIR = TESTDIR
sickrage.PROG_DIR = os.path.abspath(os.path.join(TESTDIR, os.pardir, 'sickrage'))
sickrage.GUI_DIR = os.path.join(sickrage.PROG_DIR, 'core', 'webserver', 'gui', sickrage.GUI_NAME)
sickrage.CONFIG_FILE = os.path.join(sickrage.DATA_DIR, "config.ini")
sickrage.CFG = ConfigObj(sickrage.CONFIG_FILE)
sickrage.TV_DOWNLOAD_DIR = FILEDIR
sickrage.HTTPS_CERT = "server.crt"
sickrage.HTTPS_KEY = "server.key"
sickrage.WEB_USERNAME = "******"
sickrage.WEB_PASSWORD = "******"
sickrage.WEB_COOKIE_SECRET = "sickrage"
sickrage.WEB_ROOT = ""
Esempio n. 3
0
    def post(self, *args, **kwargs):
        results = []

        # custom providers
        custom_providers = ''
        for curProviderStr in self.get_argument('provider_strings',
                                                '').split('!!!'):
            if not len(curProviderStr):
                continue

            custom_providers += '{}!!!'.format(curProviderStr)
            cur_type, cur_provider_data = curProviderStr.split('|', 1)

            if cur_type == "newznab":
                cur_name, cur_url, cur_key, cur_cat = cur_provider_data.split(
                    '|')
                provider_obj = NewznabProvider(cur_name, cur_url, cur_key,
                                               cur_cat)
                provider_obj.name = cur_name
                provider_obj.key = cur_key
                provider_obj.catIDs = cur_cat
                sickrage.app.search_providers.newznab().update(
                    **{provider_obj.id: provider_obj})
            elif cur_type == "torrentrss":
                cur_name, cur_url, cur_cookies, cur_title_tag = cur_provider_data.split(
                    '|')
                provider_obj = TorrentRssProvider(cur_name, cur_url,
                                                  cur_cookies, cur_title_tag)
                provider_obj.name = cur_name
                provider_obj.cookies = cur_cookies
                provider_obj.titleTAG = cur_title_tag
                sickrage.app.search_providers.torrentrss().update(
                    **{provider_obj.id: provider_obj})

        sickrage.app.config.custom_providers = custom_providers

        # remove providers
        for p in list(
                set(sickrage.app.search_providers.provider_order).difference([
                    x.split(':')[0] for x in self.get_argument(
                        'provider_order', '').split('!!!')
                ])):
            provider_obj = sickrage.app.search_providers.all()[p]
            del sickrage.app.search_providers[provider_obj.type][p]

        # enable/disable/sort providers
        sickrage.app.search_providers.provider_order = []
        for curProviderStr in self.get_argument('provider_order',
                                                '').split('!!!'):
            cur_provider, cur_enabled = curProviderStr.split(':')
            sickrage.app.search_providers.provider_order += [cur_provider]
            if cur_provider in sickrage.app.search_providers.all():
                cur_prov_obj = sickrage.app.search_providers.all(
                )[cur_provider]
                cur_prov_obj.enabled = bool(try_int(cur_enabled))

        # dynamically load provider settings
        for providerID, provider_obj in sickrage.app.search_providers.all(
        ).items():
            try:
                provider_settings = {
                    'minseed':
                    try_int(self.get_argument(providerID + '_minseed', 0)),
                    'minleech':
                    try_int(self.get_argument(providerID + '_minleech', 0)),
                    'ratio':
                    str(self.get_argument(providerID + '_ratio', '')).strip(),
                    'digest':
                    str(self.get_argument(providerID + '_digest', '')).strip(),
                    'hash':
                    str(self.get_argument(providerID + '_hash', '')).strip(),
                    'key':
                    str(self.get_argument(providerID + '_key', '')).strip(),
                    'api_key':
                    str(self.get_argument(providerID + '_api_key',
                                          '')).strip(),
                    'username':
                    str(self.get_argument(providerID + '_username',
                                          '')).strip(),
                    'password':
                    str(self.get_argument(providerID + '_password',
                                          '')).strip(),
                    'passkey':
                    str(self.get_argument(providerID + '_passkey',
                                          '')).strip(),
                    'pin':
                    str(self.get_argument(providerID + '_pin', '')).strip(),
                    'confirmed':
                    checkbox_to_value(
                        self.get_argument(providerID + '_confirmed', 0)),
                    'ranked':
                    checkbox_to_value(
                        self.get_argument(providerID + '_ranked', 0)),
                    'engrelease':
                    checkbox_to_value(
                        self.get_argument(providerID + '_engrelease', 0)),
                    'onlyspasearch':
                    checkbox_to_value(
                        self.get_argument(providerID + '_onlyspasearch', 0)),
                    'sorting':
                    str(self.get_argument(providerID + '_sorting',
                                          'seeders')).strip(),
                    'freeleech':
                    checkbox_to_value(
                        self.get_argument(providerID + '_freeleech', 0)),
                    'reject_m2ts':
                    checkbox_to_value(
                        self.get_argument(providerID + '_reject_m2ts', 0)),
                    'search_mode':
                    str(
                        self.get_argument(providerID + '_search_mode',
                                          'eponly')).strip(),
                    'search_fallback':
                    checkbox_to_value(
                        self.get_argument(providerID + '_search_fallback', 0)),
                    'enable_daily':
                    checkbox_to_value(
                        self.get_argument(providerID + '_enable_daily', 0)),
                    'enable_backlog':
                    checkbox_to_value(
                        self.get_argument(providerID + '_enable_backlog', 0)),
                    'cat':
                    try_int(self.get_argument(providerID + '_cat', 0)),
                    'subtitle':
                    checkbox_to_value(
                        self.get_argument(providerID + '_subtitle', 0)),
                    'cookies':
                    str(self.get_argument(providerID + '_cookies',
                                          '')).strip().rstrip(';'),
                    'custom_url':
                    str(self.get_argument(providerID + '_custom_url',
                                          '')).strip()
                }

                # update provider object
                [
                    setattr(provider_obj, k, v)
                    for k, v in provider_settings.items()
                    if hasattr(provider_obj, k)
                ]
            except Exception as e:
                continue

        # save provider settings
        sickrage.app.config.save()

        if len(results) > 0:
            [sickrage.app.log.error(x) for x in results]
            sickrage.app.alerts.error(_('Error(s) Saving Configuration'),
                                      '<br>\n'.join(results))
        else:
            sickrage.app.alerts.message(
                _('[PROVIDERS] Configuration Encrypted and Saved to disk'))

        return self.redirect("/config/providers/")
Esempio n. 4
0
sickrage.NAMECACHE = nameCache()

sickrage.showList = []
sickrage.QUALITY_DEFAULT = 4  # hdtv
sickrage.FLATTEN_FOLDERS_DEFAULT = 0

sickrage.NAMING_PATTERN = ''
sickrage.NAMING_ABD_PATTERN = ''
sickrage.NAMING_SPORTS_PATTERN = ''
sickrage.NAMING_MULTI_EP = 1

sickrage.PROVIDER_ORDER = ["sick_beard_index"]
sickrage.newznabProviderList = NewznabProvider.getProviderList(
    NewznabProvider.getDefaultProviders())
sickrage.torrentRssProviderList = TorrentRssProvider.getProviderList(
    TorrentRssProvider.getDefaultProviders())
sickrage.metadataProvideDict = get_metadata_generator_dict()
sickrage.GUI_NAME = "slick"
sickrage.THEME_NAME = "dark"
sickrage.ROOT_DIR = sickrage.DATA_DIR = TESTDIR
sickrage.PROG_DIR = os.path.abspath(
    os.path.join(TESTDIR, os.pardir, 'sickrage'))
sickrage.GUI_DIR = os.path.join(sickrage.PROG_DIR, 'core', 'webserver', 'gui',
                                sickrage.GUI_NAME)
sickrage.CONFIG_FILE = os.path.join(sickrage.DATA_DIR, "config.ini")
sickrage.CFG = ConfigObj(sickrage.CONFIG_FILE)
sickrage.TV_DOWNLOAD_DIR = FILEDIR
sickrage.HTTPS_CERT = "server.crt"
sickrage.HTTPS_KEY = "server.key"
sickrage.WEB_USERNAME = "******"
sickrage.WEB_PASSWORD = "******"