[SCM] morituri/master: * morituri/image/toc.py: Calculate the leadout from the sum of the track lengths. * morituri/test/breeders.cue: * morituri/test/cure.cue: Adapt expected results for DISCID. * morituri/image/table.py: Add an assert for hasTOC() when doing .cue() * morituri/test/test_image_toc.py: * morituri/test/test_image_cue.py: absolutize before cue()

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Oct 19 20:08:59 UTC 2014


The following commit has been merged in the master branch:
commit f2ba07c72931b70b827f2d12fb5db9d6c946a526
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Fri May 15 19:23:57 2009 +0000

    	* morituri/image/toc.py:
    	  Calculate the leadout from the sum of the track lengths.
    	* morituri/test/breeders.cue:
    	* morituri/test/cure.cue:
    	  Adapt expected results for DISCID.
    	* morituri/image/table.py:
    	  Add an assert for hasTOC() when doing .cue()
    	* morituri/test/test_image_toc.py:
    	* morituri/test/test_image_cue.py:
    	  absolutize before cue()

diff --git a/ChangeLog b/ChangeLog
index 73ac580..43d2857 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2009-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+	* morituri/image/toc.py:
+	  Calculate the leadout from the sum of the track lengths.
+	* morituri/test/breeders.cue:
+	* morituri/test/cure.cue:
+	  Adapt expected results for DISCID.
+	* morituri/image/table.py:
+	  Add an assert for hasTOC() when doing .cue()
+	* morituri/test/test_image_toc.py:
+	* morituri/test/test_image_cue.py:
+	  absolutize before cue()
+
+2009-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
+
 	* morituri/image/table.py:
 	  Only add DISCID if our table is a TOC (which it isn't
 	  with our current .toc file parsing)
diff --git a/morituri/image/table.py b/morituri/image/table.py
index 1f08055..2847067 100644
--- a/morituri/image/table.py
+++ b/morituri/image/table.py
@@ -334,10 +334,8 @@ class IndexTable(object, log.Loggable):
                 if key not in main and self.cdtext.has_key(key):
                     lines.append("    %s %s" % (key, track.cdtext[key]))
 
-        if self.hasTOC():
-            lines.append('REM DISCID %s' % self.getCDDBDiscId().upper())
-        else:
-            self.warning("Cannot write disc id, not a TOC")
+        assert self.hasTOC(), "Table does not represent a full CD TOC"
+        lines.append('REM DISCID %s' % self.getCDDBDiscId().upper())
         lines.append('REM COMMENT "%s"' % program)
 
         if self.catalog:
diff --git a/morituri/image/toc.py b/morituri/image/toc.py
index 52e887b..a879b63 100644
--- a/morituri/image/toc.py
+++ b/morituri/image/toc.py
@@ -85,6 +85,7 @@ class TocFile(object, log.Loggable):
         indexNumber = 0
         currentOffset = 0 # running absolute offset of where each track starts
         currentLength = 0 # accrued during TRACK record parsing, current track
+        totalLength = 0 # accrued during TRACK record parsing, total disc
         pregapLength = 0 # length of the pre-gap, current track
 
 
@@ -134,6 +135,7 @@ class TocFile(object, log.Loggable):
 
                 trackNumber += 1
                 currentOffset += currentLength
+                totalLength += currentLength
                 currentLength = 0
                 indexNumber = 1
                 trackMode = m.group('mode')
@@ -217,6 +219,10 @@ class TocFile(object, log.Loggable):
             self.debug('track %d, added index %r',
                 currentTrack.number, currentTrack.getIndex(1))
 
+        # totalLength was added up to the penultimate track
+        self.table.leadout = totalLength + currentLength
+        self.debug('leadout: %r', self.table.leadout)
+
     def message(self, number, message):
         """
         Add a message about a given line in the cue file.
diff --git a/morituri/test/breeders.cue b/morituri/test/breeders.cue
index 2db081b..457f913 100644
--- a/morituri/test/breeders.cue
+++ b/morituri/test/breeders.cue
@@ -1,3 +1,4 @@
+REM DISCID BE08990D
 REM COMMENT "Morituri"
 CATALOG 0652637280326
 PERFORMER "THE BREEDERS"
diff --git a/morituri/test/cure.cue b/morituri/test/cure.cue
index 52d211a..834b8e2 100644
--- a/morituri/test/cure.cue
+++ b/morituri/test/cure.cue
@@ -1,3 +1,4 @@
+REM DISCID B90C650D
 REM COMMENT "Morituri"
 CATALOG 0602517642256
 FILE "data.wav" WAVE
diff --git a/morituri/test/test_image_cue.py b/morituri/test/test_image_cue.py
index fbe8579..6d00df9 100644
--- a/morituri/test/test_image_cue.py
+++ b/morituri/test/test_image_cue.py
@@ -65,8 +65,11 @@ class WriteCueFileTestCase(unittest.TestCase):
         t.index(0, path='track01.wav', relative=1000, counter=1)
         t.index(1, path='track02.wav', relative=0, counter=2)
         it.tracks.append(t)
+        it.absolutize()
+        it.leadout = 2000
 
-        self.assertEquals(it.cue(), """REM COMMENT "Morituri"
+        self.assertEquals(it.cue(), """REM DISCID 04001A02
+REM COMMENT "Morituri"
 FILE "track01.wav" WAVE
   TRACK 01 AUDIO
     INDEX 01 00:00:00
diff --git a/morituri/test/test_image_toc.py b/morituri/test/test_image_toc.py
index b5047b5..3323a46 100644
--- a/morituri/test/test_image_toc.py
+++ b/morituri/test/test_image_toc.py
@@ -6,6 +6,8 @@ import unittest
 
 from morituri.image import toc
 
+from morituri.test import common
+
 class CureTestCase(unittest.TestCase):
     def setUp(self):
         self.toc = toc.TocFile(os.path.join(os.path.dirname(__file__),
@@ -81,6 +83,7 @@ class CureTestCase(unittest.TestCase):
         self._assertRelative(2, 1, None)
 
     def testConvertCue(self):
+        self.toc.table.absolutize()
         cue = self.toc.table.cue()
         ref = open(os.path.join(os.path.dirname(__file__), 'cure.cue')).read()
         self.assertEquals(cue, ref)
@@ -127,6 +130,9 @@ class BreedersTestCase(unittest.TestCase):
         self.assertEquals(cdt['TITLE'], 'OVERGLAZED')
 
     def testConvertCue(self):
+        self.failIf(self.toc.table.hasTOC())
+        self.toc.table.absolutize()
+        self.failUnless(self.toc.table.hasTOC())
         cue = self.toc.table.cue()
         ref = open(os.path.join(os.path.dirname(__file__),
             'breeders.cue')).read()

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list