Example #1
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('path', type=str,
                        help="file or directory to retrieve subtitles")
    parser.add_argument('--quiet', '-q', action='store_true')
    parser.add_argument('--skip', '-s', type=int,
                        default=0, help="skip from head")
    parser.add_argument('--force', '-f', action='store_true',
                        default=False, help="override existing file")
    args = parser.parse_args()
    lib.setup_logger(lib.LOGGER_LEVEL)

    if not args.quiet:
        console = logging.StreamHandler()
        console.setFormatter(lib.LOGGER_FORMATTER)
        lib.logger.addHandler(console)

    cursor = FileFinder(args.path, with_extension=['avi','mkv','mp4',
                                                   'mpg','m4v','ogv',
                                                   'vob', '3gp',
                                                   'part', 'temp', 'tmp'
                                                   ])

    for filepath in cursor.findFiles():
        # skip if a subtitle for this file exists
        sub_file = os.path.splitext(filepath)[0] + '.srt'
        if os.path.exists(sub_file):
            if args.force:
              os.remove(sub_file)
            else:
              continue

        filename = os.path.basename(filepath)

        try:
            info = FileParser(filename).parse()
            series_name = info.seriesname
            series_id = 's%02de%s' % (info.seasonnumber, '-'.join(['%02d' % e for e in info.episodenumbers]))
            quality, group, codec = extract_meta_data(filename)
            url = lib.get_subtitle_url(series_name, series_id,
                                       group or quality or codec,
                                       args.skip)
        except lib.NoResultsError, e:
            lib.logger.error(e.message)
            raise

        with subtitle_renamer(filepath):
            lib.get_subtitle(url, 'temp__' + filename )
Example #2
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('path', type=str, help="The series episode identifier to be downloaded")
    parser.add_argument('series_name', type=str, help="The name of the series subs to be downloaded")
    parser.add_argument('series_id', type=str, help="The series episode identifier to be downloaded")
    parser.add_argument('series_quality', type=str, help="The series episode quality to be downloaded")
    parser.add_argument('--quiet', '-q', action='store_true')

    args = parser.parse_args()

    lib.setup_logger(lib.LOGGER_LEVEL)

    if not args.quiet:
        console = logging.StreamHandler()
        console.setFormatter(lib.LOGGER_FORMATTER)
        lib.logger.addHandler(console)
    try:
        url = lib.get_subtitle_url(args.series_name, args.series_id, args.series_quality)
    except lib.NoResultsError, e:
        lib.logger.error(e.message)
        raise