[SCM] morituri/master: * morituri/common/program.py: * morituri/rip/cd.py: Move HTOA checking to program.

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Oct 19 20:09:07 UTC 2014


The following commit has been merged in the master branch:
commit df779bc8df84a7a5ea4b91a4a35f2d177f8891cb
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Sun Jun 7 16:06:58 2009 +0000

    	* morituri/common/program.py:
    	* morituri/rip/cd.py:
    	  Move HTOA checking to program.

diff --git a/ChangeLog b/ChangeLog
index 08d1c40..6e42f82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+	* morituri/common/program.py:
+	* morituri/rip/cd.py:
+	  Move HTOA checking to program.
+
+2009-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
+
 	* morituri/result/logger.py:
 	  Fix for toctable->table
 	* morituri/common/program.py:
diff --git a/morituri/common/program.py b/morituri/common/program.py
index 27fd2f1a..50407cc 100644
--- a/morituri/common/program.py
+++ b/morituri/common/program.py
@@ -287,6 +287,41 @@ class Program(object):
 
         return ret
 
+    def getHTOA(self):
+        """
+        Check if we have hidden track one audio.
+
+        @returns: tuple of (start, stop), or None
+        """
+        track = self.result.table.tracks[0]
+        try:
+            index = track.getIndex(0)
+        except KeyError:
+            return None
+
+        start = index.absolute
+        stop = track.getIndex(1).absolute
+        return (start, stop)
+
+    def ripTrack(self, runner, trackResult, path, number, offset, device, profile, taglist):
+        """
+        @param number: track number (1-based)
+        """
+        t = cdparanoia.ReadVerifyTrackTask(path, self.result.table,
+            self.result.table.getTrackStart(number),
+            self.result.table.getTrackEnd(number),
+            offset=offset,
+            device=device,
+            profile=profile,
+            taglist=taglist)
+        t.description = 'Reading Track %d' % (number)
+
+        runner.run(t)
+
+        trackResult.testcrc = t.testchecksum
+        trackResult.copycrc = t.copychecksum
+        trackResult.peak = t.peak
+        trackResult.quality = t.quality
 
     def writeCue(self, discName):
         assert self.result.table.canCue()
diff --git a/morituri/rip/cd.py b/morituri/rip/cd.py
index 8ce89de..ef592c4 100644
--- a/morituri/rip/cd.py
+++ b/morituri/rip/cd.py
@@ -151,17 +151,9 @@ class Rip(logcommand.LogCommand):
 
 
         # check for hidden track one audio
-        htoapath = None
-        index = None
-        track = itable.tracks[0]
-        try:
-            index = track.getIndex(0)
-        except KeyError:
-            pass
-
-        if index:
-            start = index.absolute
-            stop = track.getIndex(1).absolute
+        htoa = prog.getHTOA()
+        if htoa:
+            start, stop = htoa
             print 'Found Hidden Track One Audio from frame %d to %d' % (
                 start, stop)
                 
@@ -210,6 +202,7 @@ class Rip(logcommand.LogCommand):
                 mbdiscid, i + 1) + '.' + extension
             trackResult.number = i + 1
             trackResult.filename = path
+            trackResult.pregap = itable.tracks[i].getPregap()
 
             dirname = os.path.dirname(path)
             if not os.path.exists(dirname):
@@ -219,28 +212,19 @@ class Rip(logcommand.LogCommand):
             if not os.path.exists(path):
                 print 'Ripping track %d of %d: %s' % (
                     i + 1, len(itable.tracks), os.path.basename(path))
-                t = cdparanoia.ReadVerifyTrackTask(path, ittoc,
-                    ittoc.getTrackStart(i + 1),
-                    ittoc.getTrackEnd(i + 1),
+                prog.ripTrack(runner, trackResult, path, i + 1, 
                     offset=int(self.options.offset),
                     device=self.parentCommand.options.device,
                     profile=profile,
                     taglist=prog.getTagList(metadata, i + 1))
-                t.description = 'Reading Track %d' % (i + 1)
-                function(runner, t)
-                if t.checksum:
+
+                if trackResult.testcrc == trackResult.copycrc:
                     print 'Checksums match for track %d' % (i + 1)
                 else:
                     print 'ERROR: checksums did not match for track %d' % (
                         i + 1)
-                trackResult.testcrc = t.testchecksum
-                trackResult.copycrc = t.copychecksum
-                trackResult.peak = t.peak
-                trackResult.quality = t.quality
-                trackResult.pregap = itable.tracks[i].getPregap()
-
-                print 'Peak level: %.2f %%' % (math.sqrt(t.peak) * 100.0, )
-                print 'Rip quality: %.2f %%' % (t.quality * 100.0, )
+                print 'Peak level: %.2f %%' % (math.sqrt(trackResult.peak) * 100.0, )
+                print 'Rip quality: %.2f %%' % (trackResult.quality * 100.0, )
 
             # overlay this rip onto the Table
             itable.setFile(i + 1, 1, path, ittoc.getTrackLength(i + 1), i + 1)

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list