[SCM] morituri/master: * morituri/common/program.py: * morituri/rip/cd.py: feature: add %x for extension to track/disc template.

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


The following commit has been merged in the master branch:
commit b5827847efd9dc28fb5af192797c8b935d6cb997
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Sat Dec 22 23:09:09 2012 +0000

    	* morituri/common/program.py:
    	* morituri/rip/cd.py:
    	  feature: add %x for extension to track/disc template.

diff --git a/ChangeLog b/ChangeLog
index fa63a0e..385feaa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+	* morituri/common/program.py:
+	* morituri/rip/cd.py:
+	  feature: add %x for extension to track/disc template.
+
 2012-12-22  Thomas Vander Stichele  <thomas at apestaart dot org>
 
 	* morituri/common/program.py:
diff --git a/morituri/common/program.py b/morituri/common/program.py
index a9c0b8f..15e115a 100644
--- a/morituri/common/program.py
+++ b/morituri/common/program.py
@@ -136,7 +136,7 @@ class Program(log.Loggable):
     def saveRipResult(self):
         self._presult.persist()
 
-    def getPath(self, outdir, template, mbdiscid, i):
+    def getPath(self, outdir, template, mbdiscid, i, profile=None):
         """
         Based on the template, get a complete path for the given track,
         minus extension.
@@ -148,6 +148,7 @@ class Program(log.Loggable):
         @type  template: unicode
         @param i:        track number (0 for HTOA, or for disc)
         @type  i:        int
+        @type  profile:  L{morituri.common.encode.Profile}
 
         @rtype: unicode
         """
@@ -168,6 +169,7 @@ class Program(log.Loggable):
         v['d'] = mbdiscid # fallback for title
         v['r'] = 'unknown'
         v['R'] = 'Unknown'
+        v['x'] = profile and profile.extension or 'unknown'
 
         v['a'] = v['A']
         if i == 0:
@@ -182,8 +184,9 @@ class Program(log.Loggable):
             v['A'] = filterForPath(self.metadata.artist)
             v['S'] = filterForPath(self.metadata.sortName)
             v['d'] = filterForPath(self.metadata.title)
-            v['R'] = self.metadata.releaseType
-            v['r'] = self.metadata.releaseType.lower()
+            if self.metadata.releaseType:
+                v['R'] = self.metadata.releaseType
+                v['r'] = self.metadata.releaseType.lower()
             if i > 0:
                 try:
                     v['a'] = filterForPath(self.metadata.tracks[i - 1].artist)
diff --git a/morituri/rip/cd.py b/morituri/rip/cd.py
index f78fa44..e69a5a2 100644
--- a/morituri/rip/cd.py
+++ b/morituri/rip/cd.py
@@ -42,22 +42,27 @@ MAX_TRIES = 5
 class Rip(logcommand.LogCommand):
     summary = "rip CD"
 
+    # see morituri.common.program.Program.getPath for expansion
     description = """
 Rips a CD.
 
 Tracks are named according to the track template, filling in the variables
-and expanding the file extension.  Variables are:
+and adding the file extension.  Variables exclusive to the track template are:
  - %t: track number
  - %a: track artist
  - %n: track title
  - %s: track sort name
 
 Disc files (.cue, .log, .m3u) are named according to the disc template,
-filling in the variables and expanding the file extension. Variables are:
+filling in the variables and adding the file extension. Variables for both
+disc and track template are:
  - %A: album artist
  - %S: album sort name
  - %d: disc title
  - %y: release year
+ - %r: release type, lowercase
+ - %r: Release type, normal case
+ - %x: audio extension
 
 Paths to track files referenced in .cue and .m3u files will be made
 relative to the directory of the disc files.
@@ -261,7 +266,7 @@ Log files will log the path to tracks relative to this directory.
                     trackResult.filename)
 
             path = prog.getPath(prog.outdir, self.options.track_template,
-                mbdiscid, number) + '.' + profile.extension
+                mbdiscid, number, profile=profile) + '.' + profile.extension
             self.debug('ripIfNotRipped: path %r' % path)
             trackResult.number = number
 
@@ -368,7 +373,7 @@ Log files will log the path to tracks relative to this directory.
 
         ### write disc files
         discName = prog.getPath(prog.outdir, self.options.disc_template,
-            mbdiscid, 0)
+            mbdiscid, 0, profile=profile)
         dirname = os.path.dirname(discName)
         if not os.path.exists(dirname):
             os.makedirs(dirname)
@@ -399,7 +404,7 @@ Log files will log the path to tracks relative to this directory.
                 continue
 
             path = prog.getPath(prog.outdir, self.options.track_template,
-                mbdiscid, i + 1) + '.' + profile.extension
+                mbdiscid, i + 1, profile=profile) + '.' + profile.extension
             writeFile(handle, path,
                 itable.getTrackLength(i + 1) / common.FRAMES_PER_SECOND)
 

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list