[SCM] morituri/master: use PathFilter object to filter paths

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Oct 19 20:10:05 UTC 2014


The following commit has been merged in the master branch:
commit 49d8e9c2688b9c5323ec6acf8f76aea2336961c3
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Sat Jul 13 18:50:52 2013 +0200

    use PathFilter object to filter paths

diff --git a/morituri/common/program.py b/morituri/common/program.py
index 08a1843..c5db0b0 100644
--- a/morituri/common/program.py
+++ b/morituri/common/program.py
@@ -28,15 +28,11 @@ import os
 import sys
 import time
 
-from morituri.common import common, log, mbngs, cache
+from morituri.common import common, log, mbngs, cache, path
 from morituri.program import cdrdao, cdparanoia
 from morituri.image import image
 
 
-def filterForPath(text):
-    return "-".join(text.split("/"))
-
-
 # FIXME: should Program have a runner ?
 
 
@@ -69,6 +65,18 @@ class Program(log.Loggable):
         self._stdout = stdout
         self._config = config
 
+        d = {}
+
+        for key in ['fat', 'special']:
+            value = None
+            value = self._config.getboolean('main', 'path_filter_'+ key)
+            if value is None:
+                value = True
+
+            d[key] = value
+
+        self._filter = path.PathFilter(**d)
+
     def setWorkingDirectory(self, workingDirectory):
         if workingDirectory:
             self.info('Changing to working directory %s' % workingDirectory)
@@ -236,9 +244,9 @@ class Program(log.Loggable):
         if self.metadata:
             release = self.metadata.release or '0000'
             v['y'] = release[:4]
-            v['A'] = filterForPath(self.metadata.artist)
-            v['S'] = filterForPath(self.metadata.sortName)
-            v['d'] = filterForPath(self.metadata.title)
+            v['A'] = self._filter.filter(self.metadata.artist)
+            v['S'] = self._filter.filter(self.metadata.sortName)
+            v['d'] = self._filter.filter(self.metadata.title)
             v['B'] = self.metadata.barcode
             v['C'] = self.metadata.catalogNumber
             if self.metadata.releaseType:
@@ -246,16 +254,16 @@ class Program(log.Loggable):
                 v['r'] = self.metadata.releaseType.lower()
             if i > 0:
                 try:
-                    v['a'] = filterForPath(self.metadata.tracks[i - 1].artist)
-                    v['s'] = filterForPath(
+                    v['a'] = self._filter.filter(self.metadata.tracks[i - 1].artist)
+                    v['s'] = self._filter.filter(
                         self.metadata.tracks[i - 1].sortName)
-                    v['n'] = filterForPath(self.metadata.tracks[i - 1].title)
+                    v['n'] = self._filter.filter(self.metadata.tracks[i - 1].title)
                 except IndexError, e:
                     print 'ERROR: no track %d found, %r' % (i, e)
                     raise
             else:
                 # htoa defaults to disc's artist
-                v['a'] = filterForPath(self.metadata.artist)
+                v['a'] = self._filter.filter(self.metadata.artist)
 
         # when disambiguating, use catalogNumber then barcode
         if disambiguate:

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list