[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