* morituri/rip/Makefile.am:

* morituri/rip/main.py:
	* morituri/rip/debug.py (added):
	  Add helper command to debug tasks.
	* morituri/common/encode.py:
	  Add debug.
This commit is contained in:
Thomas Vander Stichele
2011-05-24 16:30:41 +00:00
parent 3a42598fa5
commit 9a6af593f8
5 changed files with 81 additions and 3 deletions

View File

@@ -1,3 +1,12 @@
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/rip/Makefile.am:
* morituri/rip/main.py:
* morituri/rip/debug.py (added):
Add helper command to debug tasks.
* morituri/common/encode.py:
Add debug.
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/test/test_common_encode.py:

View File

@@ -211,7 +211,9 @@ class EncodeTask(gstreamer.GstPipelineTask):
# add a probe so we can track progress
# we connect to level because this gives us offset in samples
srcpad = self._level.get_static_pad('src')
srcpad.add_buffer_probe(self._probe_handler)
self.gst.debug('adding srcpad buffer probe to %r' % srcpad)
ret = srcpad.add_buffer_probe(self._probe_handler)
self.gst.debug('added srcpad buffer probe to %r: %r' % (srcpad, ret))
def _probe_handler(self, pad, buffer):
# update progress based on buffer offset (expected to be in samples)

View File

@@ -6,6 +6,7 @@ morituri_PYTHON = \
__init__.py \
accurip.py \
cd.py \
debug.py \
drive.py \
image.py \
main.py \

66
morituri/rip/debug.py Normal file
View File

@@ -0,0 +1,66 @@
# -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri.
#
# morituri is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# morituri is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>.
from morituri.common import task, logcommand
class Encode(logcommand.LogCommand):
summary = "run an encode task"
def addOptions(self):
# here to avoid import gst eating our options
from morituri.common import encode
default = 'flac'
self.parser.add_option('', '--profile',
action="store", dest="profile",
help="profile for encoding (default '%s', choices '%s')" % (
default, "', '".join(encode.PROFILES.keys())),
default=default)
def do(self, args):
try:
fromPath = unicode(args[0])
except IndexError:
self.stdout.write('Please specify an input file.\n')
return 3
try:
toPath = unicode(args[1])
except IndexError:
toPath = fromPath + '.' + self.options.profile
runner = task.SyncRunner()
from morituri.common import encode
profile = encode.PROFILES[self.options.profile]()
encodetask = encode.EncodeTask(fromPath, toPath, profile)
runner.run(encodetask)
class Debug(logcommand.LogCommand):
summary = "debug internals"
subCommandClasses = [Encode, ]

View File

@@ -4,7 +4,7 @@
import sys
from morituri.common import log, logcommand, common, task
from morituri.rip import cd, offset, drive, image, accurip
from morituri.rip import cd, offset, drive, image, accurip, debug
def main(argv):
c = Rip()
@@ -53,7 +53,7 @@ You can get help on subcommands by using the -h option to the subcommand.
"""
subCommandClasses = [accurip.AccuRip,
cd.CD, drive.Drive, offset.Offset, image.Image, ]
cd.CD, debug.Debug, drive.Drive, offset.Offset, image.Image, ]
def addOptions(self):
# FIXME: is this the right place ?