[SCM] morituri/master: patch by: mustbenice * morituri/common/program.py: * morituri/program/cdparanoia.py: * morituri/result/logger.py: * morituri/result/result.py: Calculate speed of reading track. Output Test and Copy speed per track in log.
js at users.alioth.debian.org
js at users.alioth.debian.org
Sun Oct 19 20:09:46 UTC 2014
The following commit has been merged in the master branch:
commit 5b1e2c88a4eca1917abd76e2cd8f912873f86be3
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date: Sun Nov 25 19:54:15 2012 +0000
patch by: mustbenice
* morituri/common/program.py:
* morituri/program/cdparanoia.py:
* morituri/result/logger.py:
* morituri/result/result.py:
Calculate speed of reading track.
Output Test and Copy speed per track in log.
diff --git a/ChangeLog b/ChangeLog
index 1cefa90..dc6402a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
+ patch by: mustbenice
+
+ * morituri/common/program.py:
+ * morituri/program/cdparanoia.py:
+ * morituri/result/logger.py:
+ * morituri/result/result.py:
+ Calculate speed of reading track.
+ Output Test and Copy speed per track in log.
+
+2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
+
* morituri.spec.in:
Add plugins directory.
diff --git a/morituri/common/program.py b/morituri/common/program.py
index eb9c0a1..049884d 100644
--- a/morituri/common/program.py
+++ b/morituri/common/program.py
@@ -474,6 +474,8 @@ class Program(log.Loggable):
trackResult.copycrc = t.copychecksum
trackResult.peak = t.peak
trackResult.quality = t.quality
+ trackResult.testspeed = t.testspeed
+ trackResult.copyspeed = t.copyspeed
if trackResult.filename != t.path:
trackResult.filename = t.path
diff --git a/morituri/program/cdparanoia.py b/morituri/program/cdparanoia.py
index 0bfe298..dfe1bd3 100644
--- a/morituri/program/cdparanoia.py
+++ b/morituri/program/cdparanoia.py
@@ -22,6 +22,7 @@
import os
import errno
+import time
import re
import stat
import shutil
@@ -203,6 +204,7 @@ class ReadTrackTask(log.Loggable, task.Task):
description = "Reading track"
quality = None # set at end of reading
+ speed = None
_MAXERROR = 100 # number of errors detected by parser
@@ -237,6 +239,7 @@ class ReadTrackTask(log.Loggable, task.Task):
self._offset = offset
self._parser = ProgressParser(start, stop)
self._device = device
+ self._start_time = None
self._buffer = "" # accumulate characters
self._errors = []
@@ -288,6 +291,7 @@ class ReadTrackTask(log.Loggable, task.Task):
raise
+ self._start_time = time.time()
self.schedule(1.0, self._read, runner)
def _read(self, runner):
@@ -339,6 +343,7 @@ class ReadTrackTask(log.Loggable, task.Task):
self._done()
def _done(self):
+ end_time = time.time()
self.setProgress(1.0)
# check if the length matches
@@ -368,6 +373,7 @@ class ReadTrackTask(log.Loggable, task.Task):
self.exception = ReturnCodeError(self._popen.returncode)
self.quality = self._parser.getTrackQuality()
+ self.speed = (offsetLength / 75) / (end_time - self._start_time)
self.stop()
return
@@ -392,6 +398,8 @@ class ReadVerifyTrackTask(log.Loggable, task.MultiSeparateTask):
copychecksum = None
peak = None
quality = None
+ testspeed = None
+ copyspeed = None
_tmpwavpath = None
_tmppath = None
@@ -471,6 +479,8 @@ class ReadVerifyTrackTask(log.Loggable, task.MultiSeparateTask):
self.tasks[2].quality)
self.peak = self.tasks[4].peak
self.debug('peak: %r', self.peak)
+ self.testspeed = self.tasks[0].speed
+ self.copyspeed = self.tasks[2].speed
self.testchecksum = c1 = self.tasks[1].checksum
self.copychecksum = c2 = self.tasks[3].checksum
diff --git a/morituri/result/logger.py b/morituri/result/logger.py
index 3e0bed1..7168507 100644
--- a/morituri/result/logger.py
+++ b/morituri/result/logger.py
@@ -105,6 +105,13 @@ class MorituriLogger(result.Logger):
lines.append('')
lines.append(' Peak level %.1f %%' % (trackResult.peak * 100.0))
+ if trackResult.copyspeed:
+ lines.append(' Extraction Speed (Copy) %.4f X' % (
+ trackResult.copyspeed))
+ if trackResult.testspeed:
+ lines.append(' Extraction Speed (Test) %.4f X' % (
+ trackResult.testspeed))
+
if trackResult.copycrc is not None:
lines.append(' Copy CRC %08X' % trackResult.copycrc)
if trackResult.testcrc is not None:
@@ -116,6 +123,7 @@ class MorituriLogger(result.Logger):
else:
lines.append(" WARNING: no CRC check done")
+
if trackResult.accurip:
lines.append(' Accurately ripped (confidence %d) [%08X]' % (
trackResult.ARDBConfidence, trackResult.ARCRC))
diff --git a/morituri/result/result.py b/morituri/result/result.py
index 1235368..4c4e1cd 100644
--- a/morituri/result/result.py
+++ b/morituri/result/result.py
@@ -60,6 +60,8 @@ class TrackResult:
peak = 0.0
quality = 0.0
+ testspeed = 0.0
+ copyspeed = 0.0
testcrc = None
copycrc = None
accurip = False # whether it's in the database
--
morituri packaging
More information about the pkg-multimedia-commits
mailing list