Ejemplo n.º 1
0
    def get_init_list(self):
        root = all_debrid.AllDebrid().magnet_status(None).get("magnets", [])
        items = []

        for i in root:
            if not (isinstance(i, dict) and i.get('status') == "Ready"):
                continue
            item = {
                "id":
                i['id'],
                "name":
                i['filename'],
                "links":
                sorted([
                    link for link in i['links']
                    if (len(
                        self._get_lowest_level_filename_for_link_files(
                            link.get("files", []))) == 1
                        and self._get_lowest_level_filename_for_link_files(
                            link.get("files", []))[0].endswith(
                                tuple(g.common_video_extensions)))
                ],
                       key=lambda x: x['filename'])
            }
            if item.get("links"):
                items.append(item)

        self._format_items(items)
Ejemplo n.º 2
0
 def get_folder(self, list_item):
     folder = all_debrid.AllDebrid().magnet_status(list_item['id'])
     items = []
     for key, value in folder['links']:
         item = {}
         item['name'] = value
         item['link'] = key
         item['debrid_provider'] = self.provider
     self._format_items(items)
Ejemplo n.º 3
0
    def get_init_list(self):
        items = all_debrid.AllDebrid().magnet_status('')['magnets']

        items = [i for i in items if isinstance(i, dict) and i.get('status') == 'Ready']

        for i in items:
            i['name'] = i['filename']
            i['links'] = sorted([l for l in i['links'] if l['files'] and any(ext for ext in g.common_video_extensions if l['filename'].endswith(ext))], key=lambda x: x['filename'])

        self._format_items(d for d in items if d['links'])
Ejemplo n.º 4
0
    def get_init_list(self):
        items = all_debrid.AllDebrid().magnet_status('')

        try:
            items = [value for key, value in items.iteritems() if type(value) == dict and value['status'] == 'Ready']
        except:
            items = [value for key, value in items.items() if type(value) == dict and value['status'] == 'Ready']

        for i in items:
            i['name'] = i['filename']
            tools.log(i['name'])
        self._format_items(items)
    def __init__(self, uncached_source, silent=False):
        if not g.all_debrid_enabled():
            raise DebridNotEnabled
        super(_AllDebridCacheAssist, self).__init__(uncached_source, silent)
        self.debrid_slug = "all_debrid"
        self.debrid_readable = "All Debrid"
        self.debrid = all_debrid.AllDebrid()

        self.uncached_source = uncached_source
        self.transfer_info = self.debrid.upload_magnet(
            uncached_source["magnet"])["magnets"][0]
        self.transfer_id = self.transfer_info["id"]
        self.transfer_info = self.debrid.magnet_status(
            self.transfer_id)["magnets"]
        self._update_status()
Ejemplo n.º 6
0
    def get_folder(self, list_item):
        folder = all_debrid.AllDebrid().magnet_status(list_item['id']).get('magnets', [])
        items = []

        links = [link for link in folder.get('links', [])]

        for link in links:
            item = {
                'name': folder.get('filename'),
                'links': link.get('link'),
                'debrid_provider': self.provider
            }
            items.append(item)

        self._format_items(items)
Ejemplo n.º 7
0
    def get_folder(self, list_item):
        folder = all_debrid.AllDebrid().magnet_status(list_item['id'])
        items = []

        try:
            links = [(key, value) for key, value in folder['links'].iteritems()]
        except:
            links = [(key, value) for key, value in folder['links'].items()]

        for key, value in links:
            item = {}
            item['name'] = value
            item['links'] = [key]
            item['debrid_provider'] = self.provider
            items.append(item)

        self._format_items(items)
Ejemplo n.º 8
0
    def get_folder(self, list_item):
        links = all_debrid.AllDebrid().magnet_status(list_item['id']).get(
            "magnets", []).get("links", [])
        items = []

        for l in links:
            filenames = self._get_lowest_level_filename_for_link_files(
                l.get("files", []))
            if not (len(filenames) == 1 and filenames[0].endswith(
                    tuple(g.common_video_extensions))):
                continue
            item = {
                "name": filenames[0],
                "link": l.get("link"),
                "size": l.get("size", 0)
            }
            items.append(item)

        self._format_items(sorted(items, key=lambda x: x['name']))
Ejemplo n.º 9
0
    def getHosterList(self):
        thread_pool = ThreadPool()
        try:
            hosters = {'premium': {}, 'free': []}
            try:
                if tools.getSetting(
                        'premiumize.enabled') == 'true' and tools.getSetting(
                            'premiumize.hosters') == 'true':
                    thread_pool.put(Premiumize.Premiumize().get_hosters,
                                    hosters)
            except:
                pass

            try:
                if tools.getSetting(
                        'realdebrid.enabled') == 'true' and tools.getSetting(
                            'rd.hosters') == 'true':
                    thread_pool.put(real_debrid.RealDebrid().get_hosters,
                                    hosters)
            except:
                pass

            try:
                if tools.getSetting(
                        'alldebrid.enabled') == 'true' and tools.getSetting(
                            'alldebrid.hosters') == 'true':
                    thread_pool.put(all_debrid.AllDebrid().get_hosters,
                                    hosters)
            except:
                pass

            thread_pool.wait_completion()

            return hosters

        except:
            import traceback
            traceback.print_exc()
Ejemplo n.º 10
0
    def _all_debrid_worker(self, torrent_list):

        api = all_debrid.AllDebrid()

        if len(torrent_list) == 0:
            return

        cache_check = api.check_hash([i['hash'] for i in torrent_list])

        if not cache_check:
            return

        for idx, i in enumerate(torrent_list):
            try:
                if cache_check['magnets'][idx]['instant'] is True:
                    i['debrid_provider'] = 'all_debrid'
                    self.store_torrent(i)
            except KeyError:
                g.log(
                    'KeyError in AllDebrid Cache check worker. '
                    'Failed to walk AllDebrid cache check response, check your auth and account status',
                    'error')
                return
Ejemplo n.º 11
0
 def resolve_link(self, list_item):
     return all_debrid.AllDebrid().resolve_hoster(list_item['link'])
Ejemplo n.º 12
0
 def get_init_list(self):
     items = all_debrid.AllDebrid().magnet_status('')
     for i in items:
         i['name'] = i['filename']
     self._format_items(items)