[SCM] morituri/master: * morituri/common/encode.py: * morituri/common/program.py: * morituri/image/image.py: * morituri/program/cdparanoia.py: * morituri/rip/cd.py: * morituri/rip/image.py: * morituri/rip/offset.py: Move all gst-using imports inside functions and classes to avoid 'import gst' eating our options. Fixes #12.
js at users.alioth.debian.org
js at users.alioth.debian.org
Sun Oct 19 20:09:15 UTC 2014
The following commit has been merged in the master branch:
commit 22a35543816580395bed8c946c97de84953e67cc
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date: Sun Apr 4 19:29:49 2010 +0000
* morituri/common/encode.py:
* morituri/common/program.py:
* morituri/image/image.py:
* morituri/program/cdparanoia.py:
* morituri/rip/cd.py:
* morituri/rip/image.py:
* morituri/rip/offset.py:
Move all gst-using imports inside functions and classes
to avoid 'import gst' eating our options.
Fixes #12.
diff --git a/ChangeLog b/ChangeLog
index dfed325..4fcf224 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2010-04-04 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * morituri/common/encode.py:
+ * morituri/common/program.py:
+ * morituri/image/image.py:
+ * morituri/program/cdparanoia.py:
+ * morituri/rip/cd.py:
+ * morituri/rip/image.py:
+ * morituri/rip/offset.py:
+ Move all gst-using imports inside functions and classes
+ to avoid 'import gst' eating our options.
+ Fixes #12.
+
2010-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
* bin/Makefile.am:
diff --git a/morituri/common/encode.py b/morituri/common/encode.py
index 1842834..7036afa 100644
--- a/morituri/common/encode.py
+++ b/morituri/common/encode.py
@@ -22,8 +22,6 @@
import math
-import gst
-
from morituri.common import common, task
from morituri.common import log
@@ -50,6 +48,10 @@ class FlacProfile(Profile):
# FIXME: we should do something better than just printing ERRORS
def test(self):
+
+ # here to avoid import gst eating our options
+ import gst
+
plugin = gst.registry_get_default().find_plugin('flac')
if not plugin:
print 'ERROR: cannot find flac plugin'
@@ -145,6 +147,10 @@ class EncodeTask(task.Task):
def start(self, runner):
task.Task.start(self, runner)
+
+ # here to avoid import gst eating our options
+ import gst
+
self._pipeline = gst.parse_launch('''
filesrc location="%s" !
decodebin name=decoder !
@@ -235,6 +241,9 @@ class EncodeTask(task.Task):
self._peakdB = p
def stop(self):
+ # here to avoid import gst eating our options
+ import gst
+
self.debug('stopping')
self.debug('setting state to NULL')
self._pipeline.set_state(gst.STATE_NULL)
diff --git a/morituri/common/program.py b/morituri/common/program.py
index 7828065..5f654b2 100644
--- a/morituri/common/program.py
+++ b/morituri/common/program.py
@@ -26,13 +26,11 @@ Common functionality and class for all programs using morituri.
import os
-from morituri.common import common, log, checksum
+from morituri.common import common, log
from morituri.result import result
from morituri.program import cdrdao, cdparanoia
from morituri.image import image
-import gst
-
class MusicBrainzException(Exception):
def __init__(self, exc):
self.args = (exc, )
@@ -299,6 +297,9 @@ class Program(log.Loggable):
# htoa defaults to disc's artist
title = 'Hidden Track One Audio'
+ # here to avoid import gst eating our options
+ import gst
+
ret = gst.TagList()
# gst-python 0.10.15.1 does not handle unicode -> utf8 string conversion
@@ -356,6 +357,9 @@ class Program(log.Loggable):
return (start, stop)
def verifyTrack(self, runner, trackResult):
+ # here to avoid import gst eating our options
+ from morituri.common import checksum
+
t = checksum.CRC32Task(trackResult.filename)
runner.run(t)
diff --git a/morituri/image/image.py b/morituri/image/image.py
index 786be72..c78a94b 100644
--- a/morituri/image/image.py
+++ b/morituri/image/image.py
@@ -26,9 +26,7 @@ Wrap on-disk CD images based on the .cue file.
import os
-import gst
-
-from morituri.common import task, checksum, log, common, encode
+from morituri.common import task, log, common
from morituri.image import cue, table
class Image(object, log.Loggable):
@@ -120,6 +118,10 @@ class AccurateRipChecksumTask(task.MultiSeparateTask):
self.debug('track %d has length %d' % (trackIndex + 1, length))
path = image.getRealPath(index.path)
+
+ # here to avoid import gst eating our options
+ from morituri.common import checksum
+
checksumTask = checksum.AccurateRipChecksumTask(path,
trackNumber=trackIndex + 1, trackCount=len(cue.table.tracks),
frameStart=index.relative * common.SAMPLES_PER_FRAME,
@@ -149,6 +151,9 @@ class AudioLengthTask(task.Task):
self._path = path
def start(self, runner):
+ # here to avoid import gst eating our options
+ import gst
+
task.Task.start(self, runner)
self._pipeline = gst.parse_launch('''
filesrc location="%s" !
@@ -235,6 +240,9 @@ class ImageEncodeTask(task.MultiSeparateTask):
self.lengths = {}
def add(index):
+ # here to avoid import gst eating our options
+ from morituri.common import encode
+
path = image.getRealPath(index.path)
assert type(path) is unicode, "%r is not unicode" % path
self.debug('schedule encode of %r', path)
diff --git a/morituri/program/cdparanoia.py b/morituri/program/cdparanoia.py
index fcb67d7..3c4533b 100644
--- a/morituri/program/cdparanoia.py
+++ b/morituri/program/cdparanoia.py
@@ -27,7 +27,7 @@ import shutil
import subprocess
import tempfile
-from morituri.common import task, log, common, checksum, encode
+from morituri.common import task, log, common
from morituri.extern import asyncsub
class FileSizeError(Exception):
@@ -371,6 +371,9 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
os.close(fd)
self._tmpwavpath = tmppath
+ # here to avoid import gst eating our options
+ from morituri.common import checksum
+
self.tasks = []
self.tasks.append(
ReadTrackTask(tmppath, table, start, stop,
@@ -387,6 +390,10 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
tmpoutpath = unicode(tmpoutpath)
os.close(fd)
self._tmppath = tmpoutpath
+
+ # here to avoid import gst eating our options
+ from morituri.common import encode
+
self.tasks.append(encode.EncodeTask(tmppath, tmpoutpath, profile,
taglist=taglist))
# make sure our encoding is accurate
@@ -415,7 +422,6 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
try:
shutil.move(self._tmppath, self.path)
- self.checksum = checksum
except Exception, e:
self._exception = e
diff --git a/morituri/rip/cd.py b/morituri/rip/cd.py
index 71cac1c..5b7dd9f 100644
--- a/morituri/rip/cd.py
+++ b/morituri/rip/cd.py
@@ -26,8 +26,8 @@ import math
import gobject
gobject.threads_init()
-from morituri.common import logcommand, task, checksum, common, accurip, log
-from morituri.common import drive, encode, program
+from morituri.common import logcommand, task, common, accurip, log
+from morituri.common import drive, program
from morituri.result import result
from morituri.image import image, cue, table
from morituri.program import cdrdao, cdparanoia
@@ -63,6 +63,10 @@ class Rip(logcommand.LogCommand):
help="template for disc file naming (default %s)" % default,
default=default)
default = 'flac'
+
+ # here to avoid import gst eating our options
+ from morituri.common import encode
+
self.parser.add_option('', '--profile',
action="store", dest="profile",
help="profile for encoding (default '%s', choices '%s')" % (
@@ -145,6 +149,8 @@ See http://sourceforge.net/tracker/?func=detail&aid=604751&group_id=2171&atid=1
prog.outdir = (self.options.output_directory or os.getcwd())
prog.outdir = prog.outdir.decode('utf-8')
+ # here to avoid import gst eating our options
+ from morituri.common import encode
profile = encode.PROFILES[self.options.profile]()
# result
diff --git a/morituri/rip/image.py b/morituri/rip/image.py
index d8c0f43..18d7f79 100644
--- a/morituri/rip/image.py
+++ b/morituri/rip/image.py
@@ -22,8 +22,7 @@
import os
-from morituri.common import logcommand, task, checksum, accurip, program
-from morituri.common import encode
+from morituri.common import logcommand, task, accurip, program
from morituri.image import image, cue
from morituri.result import result
from morituri.program import cdrdao, cdparanoia
@@ -39,6 +38,10 @@ class Encode(logcommand.LogCommand):
help="output directory (defaults to current directory)")
default = 'vorbis'
+
+ # here to avoid import gst eating our options
+ from morituri.common import encode
+
self.parser.add_option('', '--profile',
action="store", dest="profile",
help="profile for encoding (default '%s', choices '%s')" % (
@@ -50,6 +53,10 @@ class Encode(logcommand.LogCommand):
prog = program.Program()
prog.outdir = (self.options.output_directory or os.getcwd())
prog.outdir = prog.outdir.decode('utf-8')
+
+ # here to avoid import gst eating our options
+ from morituri.common import encode
+
profile = encode.ALL_PROFILES[self.options.profile]()
runner = task.SyncRunner()
diff --git a/morituri/rip/offset.py b/morituri/rip/offset.py
index c8d5875..b9ab229 100644
--- a/morituri/rip/offset.py
+++ b/morituri/rip/offset.py
@@ -26,7 +26,7 @@ import tempfile
import gobject
gobject.threads_init()
-from morituri.common import logcommand, task, checksum, accurip, drive
+from morituri.common import logcommand, task, accurip, drive
from morituri.image import image
from morituri.program import cdrdao, cdparanoia
@@ -182,6 +182,9 @@ CD in the AccurateRip database."""
track, offset)
runner.run(t)
+ # here to avoid import gst eating our options
+ from morituri.common import checksum
+
t = checksum.AccurateRipChecksumTask(path, trackNumber=track,
trackCount=len(table.tracks))
runner.run(t)
--
morituri packaging
More information about the pkg-multimedia-commits
mailing list