1#!/usr/bin/env python
2# encoding: utf-8
3
4"""
5a demo that shows how to call pymediainfo
6"""
7
8from __future__ import (absolute_import, division,
9                        print_function, unicode_literals)
10
11import sys
12from pprint import pprint
13
14from pymediainfo import MediaInfo
15
16
17def print_frame(text):
18    print("+-{}-+".format("-" * len(text)))
19    print("| {} |".format(text))
20    print("+-{}-+".format("-" * len(text)))
21
22
23def process(fname):
24    media_info = MediaInfo.parse(fname)
25    for track in media_info.tracks:
26        print_frame(track.track_type)
27        pprint(track.to_data())
28    #
29    print()
30    for track in media_info.tracks:
31        if track.track_type == 'General' and track.duration:
32            print("Duration: {} sec.".format(track.duration / 1000.0))
33
34##############################################################################
35
36if __name__ == "__main__":
37    if len(sys.argv) == 1:
38        print("Usage: {} <media_file>".format(sys.argv[0]))
39        sys.exit(0)
40    if sys.version_info.major < 3:
41        process(sys.argv[1].decode(sys.getfilesystemencoding()))
42    else:
43        process(sys.argv[1])
44