* morituri/common/task.py:

* morituri/image/image.py:
	  Add some debugging.
This commit is contained in:
Thomas Vander Stichele
2009-05-02 09:27:14 +00:00
parent 2acff6bd94
commit 076644b879
3 changed files with 26 additions and 8 deletions

View File

@@ -1,3 +1,9 @@
2009-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri/common/task.py:
* morituri/image/image.py:
Add some debugging.
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
* examples/readhtoa.py (added):

View File

@@ -143,6 +143,7 @@ class BaseMultiTask(Task):
# start next task
task = self.__tasks[0]
del self.__tasks[0]
self.debug('BaseMultiTask.next(): starting task %r', task)
self._task += 1
self.setDescription("%s (%d of %d) ..." % (
self._generic, self._task, len(self.tasks)))
@@ -172,9 +173,11 @@ class MultiTask(BaseMultiTask):
"""
def start(self, runner):
self.debug('MultiTask.start()')
BaseMultiTask.start(self, runner)
def next(self):
self.debug('MultiTask.next()')
# start next task
self.progress = 0.0 # reset progress for each task
BaseMultiTask.next(self)

View File

@@ -29,10 +29,15 @@ import struct
import gst
from morituri.common import task, checksum
from morituri.common import task, checksum, log
from morituri.image import cue, table
class Image:
class Image(object, log.Loggable):
"""
@ivar table: The Table of Contents for this image.
@type table: L{table.Table}
"""
def __init__(self, path):
"""
@param path: .cue path
@@ -42,6 +47,7 @@ class Image:
self.cue.parse()
self._offsets = [] # 0 .. trackCount - 1
self._lengths = [] # 0 .. trackCount - 1
self.table = None
def getRealPath(self, path):
"""
@@ -51,10 +57,13 @@ class Image:
def setup(self, runner):
"""
Do initial setup, like figuring out track lengths.
Do initial setup, like figuring out track lengths, and
constructing the Table of Contents.
"""
verify = ImageVerifyTask(self)
self.debug('verifying image')
runner.run(verify)
self.debug('verified image')
# calculate offset and length for each track
@@ -116,10 +125,6 @@ class AudioLengthTask(task.Task):
def __init__(self, path):
self._path = path
def debug(self, *args, **kwargs):
return
print args, kwargs
def start(self, runner):
task.Task.start(self, runner)
self._pipeline = gst.parse_launch('''
@@ -140,7 +145,7 @@ class AudioLengthTask(task.Task):
if format == gst.FORMAT_BYTES:
self.debug('query returned in BYTES format')
length /= 4
self.debug('total length', length)
self.debug('total length: %d', length)
self.length = length
self._pipeline.set_state(gst.STATE_NULL)
@@ -161,6 +166,7 @@ class ImageVerifyTask(task.MultiTask):
self.lengths = {}
for trackIndex, track in enumerate(cue.tracks):
self.debug('verifying track %d', trackIndex + 1)
index = track._indexes[1]
offset = index[0]
length = cue.getTrackLength(track)
@@ -168,9 +174,12 @@ class ImageVerifyTask(task.MultiTask):
if length == -1:
path = image.getRealPath(file.path)
self.debug('schedule scan of audio length of %s', path)
taskk = AudioLengthTask(path)
self.addTask(taskk)
self._tasks.append((trackIndex + 1, track, taskk))
else:
self.debug('track %d has length %d', trackIndex + 1, length)
def stop(self):
for trackIndex, track, taskk in self._tasks: