Exemplo n.º 1
0
def imdb_build_keyword_results(db_type, query):
	def _builder():
		for count, item in enumerate(results, 1):
			cm = []
			cm_append = cm.append
			keyword = item[0]
			listings = item[1]
			url_params = {'mode': mode, 'action': 'imdb_keywords_list_contents', 'list_id': keyword.lower(), 'iconImage': 'imdb.png'}
			url_json = json.dumps(url_params)
			add_list_params = {'mode': 'navigator.adjust_main_lists', 'method': 'add_external', 'list_name': '%s (IMDb)' % keyword, 'menu_item': url_json}
			add_folder_params = {'mode': 'navigator.adjust_shortcut_folder_lists', 'method': 'add_external', 'name': '%s (IMDb)' % keyword, 'menu_item': url_json}
			url = build_url(url_params)
			listitem = make_listitem()
			listitem.setLabel('%02d | [B]%s[/B] [I]%s[/I]' % (count, keyword.upper(), listings))
			listitem.setArt({'icon': default_imdb_icon, 'poster': default_imdb_icon, 'thumb': default_imdb_icon, 'fanart': fanart, 'banner': default_imdb_icon})
			cm_append((ls(32730),'RunPlugin(%s)' % build_url(add_list_params)))
			cm_append((ls(32731),'RunPlugin(%s)' % build_url(add_folder_params)))
			listitem.addContextMenuItems(cm)
			yield (url, listitem, True)
	__handle__ = int(argv[1])
	results = imdb_keyword_search(query)
	add_to_search_history(query, 'imdb_keyword_%s_queries' % db_type)
	if not results: return
	mode = 'build_%s_list' % db_type
	kodi_utils.add_items(__handle__, list(_builder()))
	kodi_utils.set_content(__handle__, 'files')
	kodi_utils.end_directory(__handle__)
	kodi_utils.set_view_mode('view.main')
Exemplo n.º 2
0
def browse_ad_cloud(folder):
    def _builder():
        for count, item in enumerate(links, 1):
            try:
                cm = []
                url_link = item['link']
                name = clean_file_name(item['filename']).upper()
                size = item['size']
                display_size = float(int(size)) / 1073741824
                display = '%02d | [B]%s[/B] | %.2f GB | [I]%s [/I]' % (
                    count, file_str, display_size, name)
                url_params = {
                    'mode': 'alldebrid.resolve_ad',
                    'url': url_link,
                    'play': 'true'
                }
                url = build_url(url_params)
                down_file_params = {
                    'mode': 'downloader',
                    'name': name,
                    'url': url_link,
                    'action': 'cloud.alldebrid',
                    'image': default_ad_icon
                }
                cm.append(
                    (down_str, 'RunPlugin(%s)' % build_url(down_file_params)))
                listitem = make_listitem()
                listitem.setLabel(display)
                listitem.addContextMenuItems(cm)
                listitem.setArt({
                    'icon': default_ad_icon,
                    'poster': default_ad_icon,
                    'thumb': default_ad_icon,
                    'fanart': fanart,
                    'banner': default_ad_icon
                })
                listitem.setInfo('video', {})
                yield (url, listitem, False)
            except:
                pass

    __handle__ = int(argv[1])
    file_str, down_str = ls(32743).upper(), ls(32747)
    extensions = supported_video_extensions()
    links = json.loads(folder)
    links = [
        i for i in links if i['filename'].lower().endswith(tuple(extensions))
    ]
    kodi_utils.add_items(__handle__, list(_builder()))
    kodi_utils.set_content(__handle__, 'files')
    kodi_utils.end_directory(__handle__)
    kodi_utils.set_view_mode('view.premium')
Exemplo n.º 3
0
def furk_tfile_video(params):
    def _builder():
        for count, item in enumerate(t_files, 1):
            try:
                cm = []
                url_params = {
                    'mode': 'media_play',
                    'url': item['url_dl'],
                    'media_type': 'video'
                }
                url = build_url(url_params)
                name = clean_file_name(item['name']).upper()
                height = int(item['height'])
                if 1200 < height > 2100: display_res = '4K'
                elif 1000 < height < 1200: display_res = '1080P'
                elif 680 < height < 1000: display_res = '720P'
                else: display_res = 'SD'
                display_name = '%02d | [B]%s[/B] | [B]%.2f GB[/B] | %smbps | [I]%s[/I]' % \
                (count, display_res, float(item['size'])/1073741824, str(round(float(item['bitrate'])/1000, 2)), name)
                listitem = make_listitem()
                listitem.setLabel(display_name)
                down_file_params = {
                    'mode': 'downloader',
                    'name': item['name'],
                    'url': item['url_dl'],
                    'action': 'cloud.furk_direct',
                    'image': default_furk_icon
                }
                cm.append(
                    (ls(32747), 'RunPlugin(%s)' % build_url(down_file_params)))
                listitem.addContextMenuItems(cm)
                listitem.setArt({
                    'icon': default_furk_icon,
                    'poster': default_furk_icon,
                    'thumb': default_furk_icon,
                    'fanart': fanart,
                    'banner': default_furk_icon
                })
                yield (url, listitem, False)
            except:
                pass

    __handle__ = int(argv[1])
    t_files = [
        i for i in Furk.t_files(params.get('item_id'))
        if 'video' in i['ct'] and 'bitrate' in i
    ]
    kodi_utils.add_items(__handle__, list(_builder()))
    kodi_utils.set_content(__handle__, 'files')
    kodi_utils.end_directory(__handle__)
    kodi_utils.set_view_mode('view.premium')
Exemplo n.º 4
0
def furk_tfile_audio(params):
    __handle__ = int(argv[1])
    kodi_utils.clear_property('furk_t_files_json')
    excludes = ('', 'cover', 'covers', 'scan', 'scans', 'playlists')
    t_files = Furk.t_files(params.get('item_id'))
    item_path_list = list(
        set([
            clean_file_name(i['path']) for i in t_files
            if clean_file_name(i['path']).lower() not in excludes
        ]))
    item_path_list.sort()
    line = '%s[CR]%s[CR]%s'
    if not item_path_list:
        if kodi_utils.confirm_dialog(text=32763,
                                     ok_label=32652,
                                     cancel_label=32764,
                                     top_space=True):
            return browse_audio_album(t_files, params.get('name'))
        from modules.player import FenPlayer
        FenPlayer().playAudioAlbum(t_files)
        return browse_audio_album(t_files, __handle__)

    def _builder():
        for x in item_path_list:
            try:
                url_params = {
                    'mode': 'furk.browse_audio_album',
                    'item_path': x,
                    'handle': __handle__
                }
                url = build_url(url_params)
                listitem = make_listitem()
                listitem.setLabel(x.upper())
                listitem.setArt({
                    'icon': default_furk_icon,
                    'poster': default_furk_icon,
                    'thumb': default_furk_icon,
                    'fanart': fanart,
                    'banner': default_furk_icon
                })
                yield (url, listitem, True)
            except:
                pass

    t_files_json = json.dumps(t_files)
    kodi_utils.set_property('furk_t_files_json', str(t_files_json))
    kodi_utils.add_items(__handle__, list(_builder()))
    kodi_utils.set_content(__handle__, 'files')
    kodi_utils.end_directory(__handle__)
    kodi_utils.set_view_mode('view.premium')
Exemplo n.º 5
0
def imdb_build_user_lists(db_type):
	def _builder():
		for item in user_lists:
			cm = []
			cm_append = cm.append
			url_params = {'mode': mode, 'action': 'imdb_user_list_contents', 'list_id': item['list_id']}
			imdb_selection_url = {'mode': 'navigator.adjust_main_lists', 'method': 'add_imdb_external', 'name': item['title'], 'imdb_params': json.dumps(url_params)}
			imdb_folder_selection_url = {'mode': 'navigator.adjust_shortcut_folder_lists', 'method': 'add_imdb_external', 'name': item['title'], 'imdb_params': json.dumps(url_params)}
			url = build_url(url_params)
			listitem = make_listitem()
			listitem.setLabel(item['title'])
			listitem.setArt({'icon': default_imdb_icon, 'poster': default_imdb_icon, 'thumb': default_imdb_icon, 'fanart': fanart, 'banner': default_imdb_icon})
			cm_append((ls(32730),'RunPlugin(%s)' % build_url(imdb_selection_url)))
			cm_append((ls(32731),'RunPlugin(%s)' % build_url(imdb_folder_selection_url)))
			listitem.addContextMenuItems(cm)
			yield (url, listitem, True)
	__handle__ = int(argv[1])
	user_lists = imdb_user_lists(db_type)
	mode = 'build_%s_list' % db_type
	kodi_utils.add_items(__handle__, list(_builder()))
	kodi_utils.set_content(__handle__, 'files')
	kodi_utils.end_directory(__handle__)
	kodi_utils.set_view_mode('view.main')
Exemplo n.º 6
0
def furk_file_browser(files, params, display_mode, __handle__):
    def _builder():
        for count, item in enumerate(files, 1):
            try:
                uncached = True if not 'url_dl' in item else False
                if uncached:
                    active_downloads = get_active_downloads()
                    mode = 'furk.add_uncached_file'
                    if item['info_hash'] in active_downloads:
                        info = '%02d | [COLOR=green][B]%s[/B][/COLOR] |' % (
                            count, active_str)
                    else:
                        info = '%02d | [COLOR=red][B]%s[/B][/COLOR] |' % (
                            count, uncached_str)
                else:
                    mode = orig_mode
                name = clean_file_name(item['name']).upper()
                item_id = item['id'] if not uncached else item['info_hash']
                url_dl = item['url_dl'] if not uncached else item['info_hash']
                size = item['size']
                if not uncached:
                    is_protected = item.get('is_protected')
                    display_size = str(round(float(size) / 1048576000, 1))
                    info_unprotected = '[B] %s GB | %s %s | [/B]' % (
                        display_size, item[files_num], files_str)
                    info_protected = '[COLOR=green]%s[/COLOR]' % info_unprotected
                    info_search = '%02d | [B]%s GB[/B] | [B]%s %s[/B] |' % (
                        count, display_size, item[files_num], files_str)
                    info = info_search if display_mode == 'search' else info_protected if is_protected == '1' else info_unprotected if is_protected == '0' else None
                display = '%s [I] %s [/I]' % (info, name)
                url_params = {'mode': mode, 'name': name, 'item_id': item_id}
                url = build_url(url_params)
                cm = []
                cm_append = cm.append
                if not uncached:
                    con_download_archive = {
                        'mode': 'downloader',
                        'name': item.get('name'),
                        'url': url_dl,
                        'action': 'archive',
                        'image': default_furk_icon
                    }
                    con_remove_files = {
                        'mode': 'furk.remove_from_files',
                        'item_id': item_id
                    }
                    con_protect_files = {
                        'mode': 'furk.myfiles_protect_unprotect',
                        'action': 'protect',
                        'name': name,
                        'item_id': item_id
                    }
                    con_unprotect_files = {
                        'mode': 'furk.myfiles_protect_unprotect',
                        'action': 'unprotect',
                        'name': name,
                        'item_id': item_id
                    }
                    con_add_to_files = {
                        'mode': 'furk.add_to_files',
                        'item_id': item_id
                    }
                    if display_mode == 'search':
                        cm_append(
                            (add_str,
                             'RunPlugin(%s)' % build_url(con_add_to_files)))
                    cm_append(
                        (down_str,
                         'RunPlugin(%s)' % build_url(con_download_archive)))
                    cm_append((remove_str,
                               'RunPlugin(%s)' % build_url(con_remove_files)))
                    if is_protected == '0':
                        cm_append(
                            (prot_str,
                             'RunPlugin(%s)' % build_url(con_protect_files)))
                    if is_protected == '1':
                        cm_append(
                            (unprot_str,
                             'RunPlugin(%s)' % build_url(con_unprotect_files)))
                listitem = make_listitem()
                listitem.setLabel(display)
                listitem.addContextMenuItems(cm)
                listitem.setArt({
                    'icon': default_furk_icon,
                    'poster': default_furk_icon,
                    'thumb': default_furk_icon,
                    'fanart': fanart,
                    'banner': default_furk_icon
                })
                yield (url, listitem, True)
            except:
                pass

    is_video = params.get('list_type') == 'file_get_video' or params.get(
        'db_type') == 'video'
    files_num = 'files_num_video' if is_video else 'files_num_audio'
    orig_mode = 'furk.furk_tfile_video' if is_video else 'furk.furk_tfile_audio'
    active_str, uncached_str, files_str, down_str, add_str = ls(32489).upper(
    ), ls(32765).upper(), ls(32493).upper(), ls(32747), ls(32769)
    remove_str, prot_str, unprot_str = ls(32766), ls(32767), ls(32768)
    kodi_utils.add_items(__handle__, list(_builder()))
Exemplo n.º 7
0
def ad_torrent_cloud(folder_id=None):
    def _builder():
        for count, item in enumerate(cloud_dict, 1):
            try:
                cm = []
                cm_append = cm.append
                folder_name = item['filename']
                normalized_folder_name = normalize(folder_name)
                string = 'FEN_AD_%s' % normalized_folder_name
                link_folders_add = {
                    'mode': 'link_folders',
                    'service': 'AD',
                    'folder_name': normalized_folder_name,
                    'action': 'add'
                }
                link_folders_remove = {
                    'mode': 'link_folders',
                    'service': 'AD',
                    'folder_name': normalized_folder_name,
                    'action': 'remove'
                }
                current_link = main_cache.get(string)
                if current_link:
                    ending = '[COLOR=limegreen][B][I]\n      %s[/I][/B][/COLOR]' % (
                        linkedto_str % current_link)
                else:
                    ending = ''
                display = '%02d | [B]%s[/B] | [I]%s [/I]%s' % (
                    count, folder_str,
                    clean_file_name(normalized_folder_name).upper(), ending)
                url_params = {
                    'mode': 'alldebrid.browse_ad_cloud',
                    'folder': json.dumps(item['links'])
                }
                url = build_url(url_params)
                cm_append((addlink_str,
                           'RunPlugin(%s)' % build_url(link_folders_add)))
                cm_append((clearlink_str,
                           'RunPlugin(%s)' % build_url(link_folders_remove)))
                listitem = make_listitem()
                listitem.setLabel(display)
                listitem.addContextMenuItems(cm)
                listitem.setArt({
                    'icon': default_ad_icon,
                    'poster': default_ad_icon,
                    'thumb': default_ad_icon,
                    'fanart': fanart,
                    'banner': default_ad_icon
                })
                yield (url, listitem, True)
            except:
                pass

    __handle__ = int(argv[1])
    folder_str, archive_str, linkedto_str, addlink_str, clearlink_str = ls(
        32742).upper(), ls(32982), ls(32744), ls(32745), ls(32746)
    cloud_dict = AllDebrid.user_cloud()['magnets']
    cloud_dict = [i for i in cloud_dict if i['statusCode'] == 4]
    kodi_utils.add_items(__handle__, list(_builder()))
    kodi_utils.set_content(__handle__, 'files')
    kodi_utils.end_directory(__handle__)
    kodi_utils.set_view_mode('view.premium')
Exemplo n.º 8
0
def pm_torrent_cloud(folder_id=None, folder_name=None):
    def _builder():
        for count, item in enumerate(cloud_files, 1):
            try:
                cm = []
                cm_append = cm.append
                file_type = item['type']
                name = clean_file_name(item['name']).upper()
                rename_params = {
                    'mode': 'premiumize.rename',
                    'file_type': file_type,
                    'id': item['id'],
                    'name': item['name']
                }
                delete_params = {'mode': 'premiumize.delete', 'id': item['id']}
                if file_type == 'folder':
                    is_folder = True
                    download_string = archive_str
                    delete_params['file_type'] = 'folder'
                    string = folder_str
                    display = '%02d | [B]%s[/B] | [I]%s [/I]' % (
                        count, folder_str, name)
                    url_params = {
                        'mode': 'premiumize.pm_torrent_cloud',
                        'id': item['id'],
                        'folder_name': normalize(item['name'])
                    }
                else:
                    is_folder = False
                    download_string = down_str
                    delete_params['file_type'] = 'item'
                    string = file_str
                    url_link = item['link']
                    if url_link.startswith('/'): url_link = 'https' + url_link
                    size = item['size']
                    display_size = float(int(size)) / 1073741824
                    display = '%02d | [B]%s[/B] | %.2f GB | [I]%s [/I]' % (
                        count, file_str, display_size, name)
                    url_params = {
                        'mode': 'media_play',
                        'url': url_link,
                        'media_type': 'video'
                    }
                    down_file_params = {
                        'mode': 'downloader',
                        'name': item['name'],
                        'url': url_link,
                        'action': 'cloud.premiumize',
                        'image': default_pm_icon
                    }
                    cm_append((download_string,
                               'RunPlugin(%s)' % build_url(down_file_params)))
                cm_append((rename_str % file_type.capitalize(),
                           'RunPlugin(%s)' % build_url(rename_params)))
                cm_append(('[B]%s %s[/B]' % (delete_str, string.capitalize()),
                           'RunPlugin(%s)' % build_url(delete_params)))
                url = build_url(url_params)
                listitem = make_listitem()
                listitem.setLabel(display)
                listitem.addContextMenuItems(cm)
                listitem.setArt({
                    'icon': default_pm_icon,
                    'poster': default_pm_icon,
                    'thumb': default_pm_icon,
                    'fanart': fanart,
                    'banner': default_pm_icon
                })
                yield (url, listitem, is_folder)
            except:
                pass

    __handle__ = int(argv[1])
    folder_str, file_str, down_str, archive_str, rename_str, delete_str = ls(
        32742).upper(), ls(32743).upper(), ls(32747), ls(32982), ls(32748), ls(
            32785)
    extensions = supported_video_extensions()
    cloud_files = Premiumize.user_cloud(folder_id)['content']
    cloud_files = [
        i for i in cloud_files
        if ('link' in i and i['link'].lower().endswith(tuple(extensions)))
        or i['type'] == 'folder'
    ]
    cloud_files.sort(key=lambda k: k['name'])
    cloud_files.sort(key=lambda k: k['type'], reverse=True)
    kodi_utils.add_items(__handle__, list(_builder()))
    kodi_utils.set_content(__handle__, 'files')
    kodi_utils.end_directory(__handle__)
    kodi_utils.set_view_mode('view.premium')
Exemplo n.º 9
0
def pm_transfers():
    def _builder():
        for count, item in enumerate(transfer_files, 1):
            try:
                cm = []
                file_type = 'folder' if item['file_id'] is None else 'file'
                name = clean_file_name(item['name']).upper()
                status = item['status']
                progress = item['progress']
                if status == 'finished': progress = 100
                else:
                    try:
                        progress = re.findall(r'\.{0,1}(\d+)',
                                              str(progress))[0][:2]
                    except:
                        progress = ''
                if file_type == 'folder':
                    is_folder = True if status == 'finished' else False
                    display = '%02d | %s%% | [B]%s[/B] | [I]%s [/I]' % (
                        count, str(progress), folder_str, name)
                    url_params = {
                        'mode': 'premiumize.pm_torrent_cloud',
                        'id': item['folder_id'],
                        'folder_name': normalize(item['name'])
                    }
                else:
                    is_folder = False
                    details = Premiumize.get_item_details(item['file_id'])
                    url_link = details['link']
                    if url_link.startswith('/'): url_link = 'https' + url_link
                    size = details['size']
                    display_size = float(int(size)) / 1073741824
                    display = '%02d | %s%% | [B]%s[/B] | %.2f GB | [I]%s [/I]' % (
                        count, str(progress), file_str, display_size, name)
                    url_params = {
                        'mode': 'media_play',
                        'url': url_link,
                        'media_type': 'video'
                    }
                    down_file_params = {
                        'mode': 'downloader',
                        'name': item['name'],
                        'url': url_link,
                        'db_type': 'cloud.premiumize',
                        'image': default_pm_icon
                    }
                    cm.append((down_str,
                               'RunPlugin(%s)' % build_url(down_file_params)))
                url = build_url(url_params)
                listitem = make_listitem()
                listitem.setLabel(display)
                listitem.addContextMenuItems(cm)
                listitem.setArt({
                    'icon': default_pm_icon,
                    'poster': default_pm_icon,
                    'thumb': default_pm_icon,
                    'fanart': fanart,
                    'banner': default_pm_icon
                })
                yield (url, listitem, is_folder)
            except:
                pass

    __handle__ = int(argv[1])
    extensions = supported_video_extensions()
    transfer_files = Premiumize.transfers_list()['transfers']
    folder_str, file_str, down_str = ls(32742).upper(), ls(32743).upper(), ls(
        32747)
    kodi_utils.add_items(__handle__, list(_builder()))
    kodi_utils.set_content(__handle__, 'files')
    kodi_utils.end_directory(__handle__)
    kodi_utils.set_view_mode('view.premium')