* morituri/common/task.py:
* morituri/image/image.py: Add some debugging.
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user