コード例 #1
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_audio_only(file):
    verify_file_existance(file)
    media_info = MediaInfo.parse(file)
    for track in media_info.tracks:
        if track.track_type == 'Audio':
            text.print_header("Audio Track")
            text.print_info("Language: {}".format(track.other_language[1]))
            text.print_info("Codec ID: {}".format(track.codec_id))
            text.print_info("Delay: {}".format(track.delay))
            text.print_info("Format Info: {}".format(track.format))
            text.print_info("Channel #: {}".format(track.channel))
            print("")
コード例 #2
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_hashes(file):
    verify_file_existance(file)
    text.print_header("Getting hashes")
    sha1 = return_sha1_hash(file)
    sha256 = return_sha256_hash(file)
    sha512 = return_sha512_hash(file)
    md5 = return_md5_hash(file)
    uid = MediaInfo.parse(file)
    text.print_info("SHA-1 Hash: " + sha1)
    text.print_info("SHA-256 Hash: " + sha256)
    text.print_info("SHA-512 Hash: " + sha512)
    text.print_info("MD5 Hash: " + md5)
    for track in uid.tracks:
        if track.track_type == 'General':
            text.print_info("Unique ID (.mkv only): {}".format(track.unique_id))
コード例 #3
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_keys(file):
    media_info = MediaInfo.parse(file)
    for track in media_info.tracks:
        if track.track_type == "Video":
            text.print_info("Video Keys: {}".format(track.to_data().keys()))
            print("")
        elif track.track_type == "Audio":
            text.print_info("Audio Keys: {}".format(track.to_data().keys()))
            print("")
        elif track.track_type == "Text":
            text.print_info("Text Keys: {}".format(track.to_data().keys()))
            print("")
        elif track.track_type == "General":
            text.print_info("General Keys: {}".format(track.to_data().keys()))
        elif track.track_type == "Menu":
            text.print_info("Menu Keys: {}".format(track.to_data().keys()))
コード例 #4
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def episode_map(id):
    ia = imdb.IMDb()
    
    media = ia.get_movie(id)
    kind = media['kind']
    media_title = media['title']
    text.print_info('Title: {}'.format(media_title))

    if kind == 'tv series' or kind == 'tv mini series':
        episode_count = 0
        season_count = 0
        ia.update(media, 'episodes')

        all_episodes = media['episodes']
        for e in all_episodes:
            episode_count = episode_count + len(all_episodes[e])
        
        text.print_tv('Episode Count: ', episode_count)
        season_keys = sorted(all_episodes.keys())

        for x in season_keys:
            text.print_header('Season {}'.format(x))
            for z in all_episodes[x].items():
                obj = z[1]
                episode_number = obj['episode']
                episode_title = obj['title']

                try:
                    rating = obj['rating']
                except KeyError:
                    rating = None

                try:
                    year = obj['year']
                except KeyError:
                    year = None

                try:
                    print('- Episode {en}: {t} - ({y}) - [{r}/10]'.format(en=episode_number, t=episode_title, y=year, r=round(rating)))
                except TypeError:
                    print('- Episode {en}: {t} - ({y})'.format(en=episode_number, t=episode_title, y=year))
    else:
        text.print_error('Episode map is only supported on TV Shows')
コード例 #5
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def info_sets():
    ia = imdb.IMDb()
    movie_info_set = ia.get_movie_infoset()
    people_info_set = ia.get_person_infoset()
    company_info_set = ia.get_company_infoset()

    text.print_info('Movie Infoset: {}'.format(movie_info_set))
    text.print_info('People Infoset: {}'.format(people_info_set))
    text.print_info('Company Infoset: {}'.format(company_info_set))
コード例 #6
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_everything(file, verbose=False):
    verify_file_existance(file)
    media_info = MediaInfo.parse(file)
    for track in media_info.tracks:
        if track.track_type == 'General':
            text.print_header("General Track")
            text.print_info("Title: {}".format(track.title))
            text.print_info("File Name: {}".format(track.complete_name))
            text.print_info("File Size: {}".format(track.other_file_size[0]))
            text.print_info("Date Encoded: {}".format(track.encoded_date))
            text.print_info("Unique ID: {}".format(track.unique_id))
            text.print_info("Writing Application: {}".format(track.writing_application))
            text.print_info("Writing Library: {}".format(track.writing_library))
            text.print_info("Format: {}".format(track.format))
            text.print_info("Duration: {}".format(track.other_duration[1]))
            text.print_info("Container: {}".format(track.container))
            print("")
        elif track.track_type == 'Video':
            text.print_header("Video Track")
            text.print_info("Resolution: {w}x{h}".format(w=track.width, h=track.height))
            text.print_info("Pixel Aspect Ratio: {}".format(track.pixel_aspect_ratio))
            text.print_info("Frame Count: {}".format(track.frame_count))
            text.print_info("Frame Rate (FPS): {}".format(track.frame_rate))
            text.print_info("Bit Rate: {}".format(track.bit_rate))
            text.print_info("Bit Depth: {}".format(track.bit_depth))
            text.print_info("Format: {}".format(track.other_format[0]))
            text.print_info("Encoded Library: {}".format(track.encoded_library_name))
            text.print_info("Other Encoded Library: {}".format(track.internet_media_type))
            text.print_info("Codec ID: {}".format(track.codec_id))
            if verbose:
                text.print_info("Encoded Settings: {}".format(track.encoding_settings))
            print("")
        elif track.track_type == 'Audio':
            text.print_header("Audio Track")
            text.print_info("Language: {}".format(track.other_language[1]))
            text.print_info("Codec ID: {}".format(track.codec_id))
            text.print_info("Delay: {}".format(track.delay))
            text.print_info("Format Info: {}".format(track.format))
            text.print_info("Channel #: {}".format(track.channel))
            print("")
        elif track.track_type == 'Text':
            text.print_header("Subtitles Track")
            text.print_info("Hard Coded: {}".format(track.forced))
            print("")
コード例 #7
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_general_info(id, verbose=False):
    ia = imdb.IMDb()

    media = ia.get_movie(id)
    title = media['title']
    plot = media['plot'][0]
    year = media['year']
    kind = media['kind']
    genres = media['genres']
    rating = media['rating']
    runtime = media['runtime'][0]
    countries = media['countries']
    languages = media['languages']

    text.print_header("Media Description")
    text.print_info("Title: {}".format(title))
    text.print_info("ID: {}".format(media.getID()))
    text.print_info("Year: {}".format(year))
    text.print_info("Media Type: {}".format(kind))
    text.print_info("Avg. Runtime: {} mins".format(runtime))
    
    text.print_info_no_end('Genres: ')
    for x in range(len(genres)):
        print(genres[x] + ', ', end=' ')
    print("")
    text.print_info("Countries: {}".format(countries))
    text.print_info('Languages: {}'.format(languages))
    
    text.print_info('Rating: {}/10'.format(rating))
    text.print_info("Plot: {}".format(plot))
コード例 #8
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_codec_info(file):
    verify_file_existance(file)
    media_info = MediaInfo.parse(file)
    for track in media_info.tracks:
        if track.track_type == 'Video':
            text.print_header('Codec Information')
            text.print_info("File Name: {}".format(track.complete_name))
            text.print_info("Date Encoded: {}".format(track.encoded_date))
            text.print_info("Format: {}".format(track.other_format[0]))
            text.print_info("Encoded Library: {}".format(track.encoded_library_name))
            text.print_info("Other Encoded Library: {}".format(track.internet_media_type))
            text.print_info("Codec ID: {}".format(track.codec_id))
            text.print_info("Encoded Settings: {}".format(track.encoding_settings))
            print("")
コード例 #9
0
ファイル: media_report.py プロジェクト: zbduid12/media-report
def print_video_only(file):
    verify_file_existance(file)
    media_info = MediaInfo.parse(file)
    for track in media_info.tracks:
        if track.track_type == 'Video':
            text.print_header("Video Track")
            text.print_info("File Name: {}".format(track.complete_name))
            text.print_info("File Size: {}".format(track.other_file_size[0]))
            text.print_info("Date Encoded: {}".format(track.encoded_date))
            text.print_info("Duration: {}".format(track.other_duration[1]))
            text.print_info("Resolution: {w}x{h}".format(w=track.width, h=track.height))
            text.print_info("Pixel Aspect Ratio: {}".format(track.pixel_aspect_ratio))
            text.print_info("Frame Count: {}".format(track.frame_count))
            text.print_info("Frame Rate (FPS): {}".format(track.frame_rate))
            text.print_info("Bit Rate: {}".format(track.bit_rate))
            text.print_info("Bit Depth: {}".format(track.bit_depth))
            text.print_info("Format: {}".format(track.other_format[0]))
            text.print_info("Encoded Library: {}".format(track.encoded_library_name))
            text.print_info("Other Encoded Library: {}".format(track.internet_media_type))
            text.print_info("Codec ID: {}".format(track.codec_id))
            text.print_info("Encoded Settings: {}".format(track.encoding_settings))
            print("")