def search_subtitles(file_original_path, title, tvshow, year, season, episode,
                     set_temp, rar, lang1, lang2, lang3,
                     stack):  #standard input
    # Build an adequate string according to media type
    if tvshow:
        search_string = "%s S%02dE%02d" % (tvshow, int(season), int(episode))
    else:
        search_string = title

    subtitles_list = []
    msg = ""
    downloader = TorecSubtitlesDownloader()
    metadata = downloader.getSubtitleMetaData(search_string)
    if metadata != None:
        for option in metadata.options:
            subtitles_list.append({
                'page_id': metadata.id,
                'filename': option.name,
                'language_flag': "flags/he.gif",
                'language_name': "Hebrew",
                'subtitle_id': option.id,
                'sync': False,
                'rating': "0",
            })

    return subtitles_list, "", msg
Beispiel #2
0
def search(item):
    best_match_id = None
    downloader = TorecSubtitlesDownloader()

    try:
        search_string = build_search_string(item)
        search_data = downloader.getSubtitleMetaData(search_string)

        log(__name__, "search_data=%s" % str(search_data))
        if search_data != None:
            best_match_id = downloader.getBestMatchID(
                os.path.basename(item['file_original_path']), search_data)
    except:
        log(__name__, "failed to connect to service for subtitle search")
        xbmc.executebuiltin(
            (u'Notification(%s,%s)' %
             (__scriptname__, __language__(32001))).encode('utf-8'))
        return

    list_items = []
    if search_data != None:
        for item_data in search_data.options:
            listitem = xbmcgui.ListItem(
                label="Hebrew",
                label2=item_data.name,
                iconImage="0",
                thumbnailImage="he",
            )

            url = "plugin://%s/?action=download&page_id=%s&subtitle_id=%s&filename=%s" % (
                __scriptid__, search_data.id, item_data.id, item_data.name)

            if best_match_id != None and item_data.id == best_match_id:
                listitem.setProperty("sync", "true")
                list_items.insert(0, (
                    url,
                    listitem,
                    False,
                ))
            else:
                list_items.append((
                    url,
                    listitem,
                    False,
                ))

    xbmcplugin.addDirectoryItems(handle=int(sys.argv[1]), items=list_items)
def search(item):
    best_match_id = None
    downloader = TorecSubtitlesDownloader()
    
    try:
        search_string = build_search_string(item)
        search_data = downloader.getSubtitleMetaData(search_string)
        
        log(__name__, "search_data=%s" % str(search_data))
        if search_data != None:
            best_match_id = downloader.getBestMatchID(os.path.basename(item['file_original_path']), search_data)
    except:
        log( __name__, "failed to connect to service for subtitle search")
        xbmc.executebuiltin((u'Notification(%s,%s)' % (__scriptname__ , __language__(32001))).encode('utf-8'))
        return
    
    list_items = []
    if search_data != None:
        for item_data in search_data.options:
            listitem = xbmcgui.ListItem(label    = "Hebrew",
                                  label2         = item_data.name,
                                  iconImage      = "0",
                                  thumbnailImage = "he",
                                  )
                                  

            url = "plugin://%s/?action=download&page_id=%s&subtitle_id=%s&filename=%s" % (__scriptid__,
                                                                        search_data.id,
                                                                        item_data.id,
                                                                        item_data.name
                                                                        )

            if best_match_id != None and item_data.id == best_match_id:
                listitem.setProperty("sync", "true")
                list_items.insert(0, (url, listitem, False,))
            else:
                list_items.append((url, listitem, False,))
    
    xbmcplugin.addDirectoryItems(handle=int(sys.argv[1]), items=list_items)
def search_subtitles(file_original_path, title, tvshow, year, season, episode, set_temp, rar, lang1, lang2, lang3, stack ): #standard input
    # Build an adequate string according to media type
    if tvshow:
        search_string = "%s S%02dE%02d" % (tvshow, int(season), int(episode))
    else:
        search_string = title
    
    subtitles_list = []
    msg = ""
    downloader = TorecSubtitlesDownloader()
    metadata = downloader.getSubtitleMetaData(search_string)
    if metadata != None:
        for option in metadata.options:
            subtitles_list.append({'page_id'       : metadata.id,
                                   'filename'      : option.name,
                                   'language_flag' : "flags/he.gif",
                                   'language_name' : "Hebrew",
                                   'subtitle_id'   : option.id,
                                   'sync'          : False,
                                   'rating'        : "0",
                                })

    return subtitles_list, "", msg
def DownloadTorecSubtitle(search_string, release, dest_dir):
    subtitles_list = []

    downloader = TorecSubtitlesDownloader()
    metadata = downloader.getSubtitleMetaData(search_string)

    for option in metadata.options:
        if release in option.name:
            subtitles_list.append({'page_id'       : metadata.id,
                                   'filename'      : option.name,
                                   'subtitle_id'   : option.id
                                })

    # If there is one match, download it
    if len(subtitles_list) == 1:
        sub = 0
    else:
        print 'Select sub : '

        for i,sub in enumerate(subtitles_list):
          print '%s) %s' % (i, sub['filename'])

        sub = int(raw_input(' > '))

    page_id = subtitles_list[sub]["page_id"]
    subtitle_id = subtitles_list[sub]["subtitle_id"]
    filename = subtitles_list[sub]["filename"]

    downloader = TorecSubtitlesDownloader()
    downloadLink =  downloader.getDownloadLink(page_id, subtitle_id, False)
    (subtitleData, subtitleName) = downloader.download(downloadLink)
    temp_dir = tempfile.mkdtemp()
    file_name = downloader.saveData('%s/%s' % (temp_dir, filename) , subtitleData, True)
    src = os.path.join(temp_dir,file_name)
    dst = os.path.join(dest_dir,file_name)
    log(__name__, "Moving file to %s" % dst)
    shutil.move(src,dst)