[SCM] morituri/master: FEATURE: add --working-directory option

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


The following commit has been merged in the master branch:
commit 090b9656d5d2b77d87fed0ec6d274d8850027f52
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Sun Jan 13 16:47:48 2013 +0100

    FEATURE: add --working-directory option
    
    morituri will change to this directory before ripping, so
    --output-directory is relative to this.

diff --git a/morituri/common/program.py b/morituri/common/program.py
index 15e115a..3eecb63 100644
--- a/morituri/common/program.py
+++ b/morituri/common/program.py
@@ -69,6 +69,11 @@ class Program(log.Loggable):
             'table')
         return path
 
+    def setWorkingDirectory(self, workingDirectory):
+        if workingDirectory:
+            self.info('Changing to working directory %s' % workingDirectory)
+            os.chdir(workingDirectory)
+
     def loadDevice(self, device):
         """
         Load the given device.
diff --git a/morituri/rip/cd.py b/morituri/rip/cd.py
index c95326e..4fa63c1 100644
--- a/morituri/rip/cd.py
+++ b/morituri/rip/cd.py
@@ -88,7 +88,12 @@ Log files will log the path to tracks relative to this directory.
             action="store", dest="output_directory",
             help="output directory; will be included in file paths in result "
                 "files "
-                "(defaults to absolute path to current directory) ")
+                "(defaults to absolute path to current directory; set to "
+                "empty if you want paths to be relative instead) ")
+        self.parser.add_option('-W', '--working-directory',
+            action="store", dest="working_directory",
+            help="working directory; morituri will change to this directory "
+                "and files will be created relative to it when not absolute ")
         # FIXME: have a cache of these pickles somewhere
         self.parser.add_option('-T', '--toc-pickle',
             action="store", dest="toc_pickle",
@@ -140,6 +145,8 @@ Log files will log the path to tracks relative to this directory.
             options.offset = 0
             self.stdout.write("Using fallback read offset %d\n" %
                         options.offset)
+        if self.options.output_directory is None:
+            self.options.output_directory = os.getcwd()
 
     def do(self, args):
         prog = program.Program(record=self.getRootCommand().record,
@@ -153,6 +160,7 @@ Log files will log the path to tracks relative to this directory.
         device = self.parentCommand.options.device
         self.stdout.write('Checking device %s\n' % device)
 
+        prog.setWorkingDirectory(self.options.working_directory)
         prog.loadDevice(device)
         prog.unmountDevice(device)
 
@@ -211,7 +219,7 @@ Log files will log the path to tracks relative to this directory.
             "full table's AR URL %s differs from toc AR URL %s" % (
             itable.getAccurateRipURL(), ittoc.getAccurateRipURL())
 
-        prog.outdir = (self.options.output_directory or os.getcwd())
+        prog.outdir = self.options.output_directory
         prog.outdir = prog.outdir.decode('utf-8')
         # here to avoid import gst eating our options
         from morituri.common import encode

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list