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

Reply via email to