Author: duncan
Date: Mon Sep 25 10:04:05 2006
New Revision: 1898
Modified:
branches/mmpython-0-4/mmpython/disc/lsdvd.py
branches/mmpython-0-4/mmpython/mediainfo.py
Log:
Added information from lsdvd for audio selection
Modified: branches/mmpython-0-4/mmpython/disc/lsdvd.py
==============================================================================
--- branches/mmpython-0-4/mmpython/disc/lsdvd.py (original)
+++ branches/mmpython-0-4/mmpython/disc/lsdvd.py Mon Sep 25 10:04:05 2006
@@ -6,7 +6,7 @@
# Use lsdvd to get dvd informations.
#
# -----------------------------------------------------------------------
-# $Log$
+# $Log: lsdvd.py,v $
# Revision 1.13.2.1 2005/06/30 17:28:24 dischi
# fix to new lsdvd
#
@@ -48,14 +48,27 @@
class DVDAudio(mediainfo.AudioInfo):
def __init__(self, data):
mediainfo.AudioInfo.__init__(self)
- self.number = int(data[1])
+
+ self.rawdata = data
+
+ self.number = int(data[1])
+ try:
+ self.id = int(data[20],0)
+ except:
+ self.id = self.number
+
if data[3] != 'xx':
self.language = data[3]
+ self.languagedesc = data[5]
try:
# some DVDs have a very bad language setting
self.language.encode()
except UnicodeError:
self.language = ''
+ try:
+ self.languagedesc.encode()
+ except UnicodeError:
+ self.languagedesc = ''
try:
self.codec = data[7]
@@ -83,6 +96,7 @@
class DVDVideo(mediainfo.VideoInfo):
def __init__(self, data):
mediainfo.VideoInfo.__init__(self)
+ self.rawdata = data
self.width = int(data[12])
self.height = int(data[14])
self.fps = float(data[5])
@@ -92,8 +106,8 @@
class DVDTitle(mediainfo.AVInfo):
def __init__(self, data):
mediainfo.AVInfo.__init__(self)
+ self.rawdata = data
self.number = int(data[1])
-
self.keys.append('subtitles')
self.keys.append('chapters')
@@ -145,11 +159,14 @@
use lsdvd to get informations about this disc
"""
import popen2
+ if mediainfo.DEBUG > 1:
+ print '%s -v -n -a -s "%s"' % (LSDVD_EXE, path)
child = popen2.Popen3('%s -v -n -a -s "%s"' % \
(LSDVD_EXE, path), 1, 100)
for line in child.fromchild.readlines():
data = line.replace(',', '').replace('\t', '').\
replace('\n', '').lstrip(' ').split(' ')
+ print data
if len(data) > 2:
if data[0] == 'Title:':
ti = DVDTitle(data)
@@ -164,6 +181,9 @@
elif data[:3] == ['Number', 'of', 'Angles:']:
self.tracks[-1].angles = int(data[3])
self.tracks[-1].keys.append('angles')
+ elif data[:2] == ['Longest', 'track:']:
+ self.tracks[-1].longesttrack = int(data[2])
+ self.tracks[-1].keys.append('longesttrack')
child.wait()
child.fromchild.close()
Modified: branches/mmpython-0-4/mmpython/mediainfo.py
==============================================================================
--- branches/mmpython-0-4/mmpython/mediainfo.py (original)
+++ branches/mmpython-0-4/mmpython/mediainfo.py Mon Sep 25 10:04:05 2006
@@ -2,7 +2,7 @@
# -----------------------------------------------------------------------
# $Id$
# -----------------------------------------------------------------------
-# $Log$
+# $Log: mediainfo.py,v $
# Revision 1.68.2.1 2005/05/07 11:37:08 dischi
# make sure all strings are unicode
#
@@ -90,7 +90,7 @@
'date', 'keywords', 'country', 'language', 'url']
AUDIOCORE = ['channels', 'samplerate', 'length', 'encoder', 'codec',
'samplebits',
- 'bitrate', 'language']
+ 'bitrate', 'language', 'languagedesc', 'id']
VIDEOCORE = ['length', 'encoder', 'bitrate', 'samplerate', 'codec',
'samplebits',
'width', 'height', 'fps', 'aspect']
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog