| 1 | import kaa.metadata |
|---|
| 2 | |
|---|
| 3 | def getMData(fname): |
|---|
| 4 | """gets kaa object for a single path/filename""" |
|---|
| 5 | x = kaa.metadata.parse(fname) |
|---|
| 6 | if not x: |
|---|
| 7 | return 'Error cannot parse: ' +fname |
|---|
| 8 | else: |
|---|
| 9 | return x |
|---|
| 10 | |
|---|
| 11 | def getURL(mmf): |
|---|
| 12 | return mmf['url'] |
|---|
| 13 | |
|---|
| 14 | def getTitle(mmf): |
|---|
| 15 | """if no data found in title field, uses the filename""" |
|---|
| 16 | if not mmf['title']: |
|---|
| 17 | url = getURL(mmf) |
|---|
| 18 | pafi = os.path.split(url) |
|---|
| 19 | path = pafi[0] |
|---|
| 20 | fname = pafi[1] |
|---|
| 21 | mmf['title'] = os.path.splitext(fname)[0] |
|---|
| 22 | return mmf['title'] |
|---|
| 23 | else: |
|---|
| 24 | mmf['title'] |
|---|
| 25 | return mmf['title'] |
|---|
| 26 | |
|---|
| 27 | def getInfo(mmf): |
|---|
| 28 | dict = {} |
|---|
| 29 | dict['title'] = getTitle(mmf) |
|---|
| 30 | dict['url'] = mmf['url'] |
|---|
| 31 | dict['type'] = mmf['type'] |
|---|
| 32 | dict['mime'] = mmf['mime'] |
|---|
| 33 | dict['date'] = mmf['date'] |
|---|
| 34 | dict['media'] = mmf['media'] |
|---|
| 35 | dict['language'] = mmf['language'] |
|---|
| 36 | dict['length'] = mmf['length'] |
|---|
| 37 | dict['copyright'] = mmf['copyright'] |
|---|
| 38 | dict['subtitles'] = mmf['subtitles'] |
|---|
| 39 | dict['image'] = mmf['image'] |
|---|
| 40 | dict['chapters'] = mmf['chapters'] |
|---|
| 41 | return dict |
|---|
| 42 | |
|---|
| 43 | def getVideoInfo(mmf): |
|---|
| 44 | """returns a tuple of info included here""" |
|---|
| 45 | tinfo = [] |
|---|
| 46 | for i in range(len(mmf['video'])): |
|---|
| 47 | dict = {} |
|---|
| 48 | dict['media'] = mmf['video'][i]['media'] |
|---|
| 49 | dict['length'] = mmf['video'][i]['length'] |
|---|
| 50 | dict['bitrate'] = mmf['video'][i] ['bitrate'] |
|---|
| 51 | dict['codec'] = mmf['video'][i]['codec'] |
|---|
| 52 | dict['width'] = mmf['video'][i]['width'] |
|---|
| 53 | dict['height'] = mmf['video'][i]['height'] |
|---|
| 54 | dict['fps'] = mmf['video'][i]['fps'] |
|---|
| 55 | dict['language'] = mmf['video'][i]['language'] |
|---|
| 56 | tinfo.append(dict) |
|---|
| 57 | return tinfo |
|---|
| 58 | |
|---|
| 59 | def getAudioInfo(mmf): |
|---|
| 60 | tinfo = [] |
|---|
| 61 | for i in range(len(mmf['audio'])): |
|---|
| 62 | dict = {} |
|---|
| 63 | dict['media'] = mmf['audio'][i]['media'] |
|---|
| 64 | dict['length'] = mmf['audio'][i]['length'] |
|---|
| 65 | dict['channels'] = mmf['audio'][i]['channels'] |
|---|
| 66 | dict['samplerate'] = mmf['audio'][i]['samplerate'] |
|---|
| 67 | dict['codec'] = mmf['audio'][i]['codec'] |
|---|
| 68 | dict['samplebits'] = mmf['audio'][i]['samplebits'] |
|---|
| 69 | dict['bitrate'] = mmf['audio'][i]['bitrate'] |
|---|
| 70 | dict['language'] = mmf['video'][i]['language'] |
|---|
| 71 | tinfo.append(dict) |
|---|
| 72 | return tinfo |
|---|
| 73 | |
|---|
| 74 | def getTrackInfo(mmf): |
|---|
| 75 | """for dvds and dvd isos""" |
|---|
| 76 | tinfo = [] |
|---|
| 77 | for i in range(len(mmf['tracks'])): |
|---|
| 78 | dict = {} |
|---|
| 79 | dict['track'] = unicode(mmf['tracks'][i]['trackno'])+ ":"+unicode(mmf['tracks'][i]['trackof']) |
|---|
| 80 | dict['media'] = mmf['tracks'][i]['media'] |
|---|
| 81 | dict['length'] = mmf['tracks'][i]['length'] |
|---|
| 82 | dict['bitrate'] = mmf['tracks'][i] ['bitrate'] |
|---|
| 83 | dict['codec'] = mmf['tracks'][i]['codec'] |
|---|
| 84 | dict['format'] = mmf['tracks'][i]['format'] |
|---|
| 85 | dict['width'] = mmf['tracks'][i]['width'] |
|---|
| 86 | dict['height'] = mmf['tracks'][i]['height'] |
|---|
| 87 | dict['fps'] = mmf['tracks'][i]['fps'] |
|---|
| 88 | tinfo.append(dict) |
|---|
| 89 | return tinfo |
|---|