Merge pull request #109 from Freso/fix-morituri-references

Fix references to morituri.
This commit is contained in:
JoeLametta
2017-04-27 18:03:08 +02:00
committed by GitHub
117 changed files with 1247 additions and 396 deletions

View File

@@ -44,7 +44,7 @@ unicode
- Use asserts liberally to ensure this so we catch problems earlier. - Use asserts liberally to ensure this so we catch problems earlier.
- All gst.parse_launch() pipelines should be passed as utf-8; use - All gst.parse_launch() pipelines should be passed as utf-8; use
encode('utf-8') encode('utf-8')
- morituri.extern.log.log is not unicode-safe; don't pass it unicode objects; - whipper.extern.log.log is not unicode-safe; don't pass it unicode objects;
for example, always use %r to log paths for example, always use %r to log paths
- run with RIP_DEBUG=5 once in a while to catch unicode/logging errors. - run with RIP_DEBUG=5 once in a while to catch unicode/logging errors.
- Also use unicode prefix/suffix in tempfile.* methods; to force unicode. - Also use unicode prefix/suffix in tempfile.* methods; to force unicode.

4
doc/.gitignore vendored
View File

@@ -1,4 +1,4 @@
morituri.ics whipper.ics
morituri.rss2 whipper.rss2
reference reference
rip.1 rip.1

View File

@@ -1,30 +1,30 @@
EXTRA_DIST = morituri.rss2 morituri.ics $(man_MANS) EXTRA_DIST = whipper.rss2 whipper.ics $(man_MANS)
DISTCLEANFILES = $(man_MANS) DISTCLEANFILES = $(man_MANS)
all-local: feeds reference all-local: feeds reference
if HAVE_EPYDOC if HAVE_EPYDOC
reference: $(top_srcdir)/morituri/*.py feeds reference: $(top_srcdir)/whipper/*.py feeds
epydoc -o reference $(top_srcdir)/morituri epydoc -o reference $(top_srcdir)/whipper
else else
reference: reference:
@true @true
endif endif
# generate feeds # generate feeds
feeds: morituri.rss2 morituri.ics feeds: whipper.rss2 whipper.ics
# don't fail fatally if user does not have RDF # don't fail fatally if user does not have RDF
morituri.rss2: $(top_srcdir)/morituri.doap whipper.rss2: $(top_srcdir)/whipper.doap
-moap doap -f $(top_srcdir)/morituri.doap rss > morituri.rss2 -moap doap -f $(top_srcdir)/whipper.doap rss > whipper.rss2
morituri.ics: $(top_srcdir)/morituri.doap whipper.ics: $(top_srcdir)/whipper.doap
-moap doap -f $(top_srcdir)/morituri.doap ical > morituri.ics -moap doap -f $(top_srcdir)/whipper.doap ical > whipper.ics
man_MANS = rip.1 man_MANS = rip.1
rip.1: $(top_srcdir)/morituri/extern/python-command/scripts/help2man $(top_srcdir)/morituri rip.1: $(top_srcdir)/whipper/extern/python-command/scripts/help2man $(top_srcdir)/whipper
PYTHONPATH=$(top_srcdir) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1 PYTHONPATH=$(top_srcdir) $(PYTHON) $(top_srcdir)/whipper/extern/python-command/scripts/help2man whipper.rip.main.Rip rip > rip.1
clean-local: clean-local:
@rm -rf reference @rm -rf reference

View File

@@ -1,21 +1,19 @@
# -*- Mode: Python; test-case-name: morituri.test.test_header -*- # -*- Mode: Python; test-case-name: whipper.test.test_header -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.

View File

@@ -182,7 +182,7 @@ blacklist = [
#warning: couldn't find real module for class xml.parsers.expat.ExpatError (module name: xml.parsers.expat) #warning: couldn't find real module for class xml.parsers.expat.ExpatError (module name: xml.parsers.expat)
'xml.parsers.expat', 'xml.parsers.expat',
'unittest', 'unittest',
'morituri.extern.log.log', 'whipper.extern.log.log',
] ]
# ignore global variables not used if name is one of these values # ignore global variables not used if name is one of these values

Binary file not shown.

View File

@@ -1,9 +1,9 @@
from setuptools import setup, find_packages from setuptools import setup, find_packages
from morituri import __version__ as morituri_version from whipper import __version__ as whipper_version
setup( setup(
name="whipper", name="whipper",
version=morituri_version, version=whipper_version,
description="a secure cd ripper preferring accuracy over speed", description="a secure cd ripper preferring accuracy over speed",
author=['Thomas Vander Stichele', 'Joe Lametta', 'Samantha Baldwin'], author=['Thomas Vander Stichele', 'Joe Lametta', 'Samantha Baldwin'],
maintainer=['Joe Lametta', 'Samantha Baldwin'], maintainer=['Joe Lametta', 'Samantha Baldwin'],
@@ -12,7 +12,7 @@ setup(
packages=find_packages(), packages=find_packages(),
entry_points={ entry_points={
'console_scripts': [ 'console_scripts': [
'whipper = morituri.command.main:main' 'whipper = whipper.command.main:main'
] ]
} }
) )

View File

@@ -1,29 +1,27 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import sys import sys
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import accurip from whipper.common import accurip
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -5,7 +5,7 @@ import argparse
import os import os
import sys import sys
from morituri.common import drive from whipper.common import drive
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -67,7 +67,7 @@ class BaseCommand():
if not drives: if not drives:
msg = 'No CD-DA drives found!' msg = 'No CD-DA drives found!'
logger.critical(msg) logger.critical(msg)
# morituri exited with return code 3 here # whipper exited with return code 3 here
raise IOError(msg) raise IOError(msg)
self.parser.add_argument('-d', '--device', self.parser.add_argument('-d', '--device',
action="store", action="store",

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import argparse import argparse
import os import os
@@ -30,12 +28,12 @@ import sys
import gobject import gobject
gobject.threads_init() gobject.threads_init()
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import ( from whipper.common import (
accurip, common, config, drive, program, task accurip, common, config, drive, program, task
) )
from morituri.program import cdrdao, cdparanoia, utils from whipper.program import cdrdao, cdparanoia, utils
from morituri.result import result from whipper.result import result
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -225,7 +223,7 @@ class Info(_CD):
class Rip(_CD): class Rip(_CD):
summary = "rip CD" summary = "rip CD"
# see morituri.common.program.Program.getPath for expansion # see whipper.common.program.Program.getPath for expansion
description = """ description = """
Rips a CD. Rips a CD.
@@ -257,7 +255,7 @@ Log files will log the path to tracks relative to this directory.
_CD.add_arguments(self.parser) _CD.add_arguments(self.parser)
self.parser.add_argument('-L', '--logger', self.parser.add_argument('-L', '--logger',
action="store", dest="logger", default='morituri', action="store", dest="logger", default='whipper',
help="logger to use (choose from '" + "', '".join(loggers) + "')") help="logger to use (choose from '" + "', '".join(loggers) + "')")
# FIXME: get from config # FIXME: get from config
self.parser.add_argument('-o', '--offset', self.parser.add_argument('-o', '--offset',
@@ -274,7 +272,7 @@ Log files will log the path to tracks relative to this directory.
help="output directory; will be included in file paths in log") help="output directory; will be included in file paths in log")
self.parser.add_argument('-W', '--working-directory', self.parser.add_argument('-W', '--working-directory',
action="store", dest="working_directory", action="store", dest="working_directory",
help="working directory; morituri will change to this directory " help="working directory; whipper will change to this directory "
"and files will be created relative to it when not absolute") "and files will be created relative to it when not absolute")
self.parser.add_argument('--track-template', self.parser.add_argument('--track-template',
action="store", dest="track_template", action="store", dest="track_template",

View File

@@ -1,31 +1,29 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import argparse import argparse
import sys import sys
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import cache, task from whipper.common import cache, task
from morituri.result import result from whipper.result import result
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -89,7 +87,7 @@ class RCLog(BaseCommand):
self.parser.add_argument( self.parser.add_argument(
'-L', '--logger', '-L', '--logger',
action="store", dest="logger", action="store", dest="logger",
default='morituri', default='whipper',
help="logger to use (choose from '" + "', '".join(loggers) + "')" help="logger to use (choose from '" + "', '".join(loggers) + "')"
) )
@@ -136,7 +134,7 @@ class Checksum(BaseCommand):
def do(self): def do(self):
runner = task.SyncRunner() runner = task.SyncRunner()
# here to avoid import gst eating our options # here to avoid import gst eating our options
from morituri.common import checksum from whipper.common import checksum
for f in self.options.files: for f in self.options.files:
fromPath = unicode(f) fromPath = unicode(f)
@@ -151,7 +149,7 @@ class Encode(BaseCommand):
def add_arguments(self): def add_arguments(self):
# here to avoid import gst eating our options # here to avoid import gst eating our options
from morituri.common import encode from whipper.common import encode
self.parser.add_argument('input', action='store', self.parser.add_argument('input', action='store',
help="audio file to encode") help="audio file to encode")
@@ -159,7 +157,7 @@ class Encode(BaseCommand):
help="output path") help="output path")
def do(self): def do(self):
from morituri.common import encode from whipper.common import encode
try: try:
fromPath = unicode(self.options.input) fromPath = unicode(self.options.input)
@@ -209,7 +207,7 @@ class Tag(BaseCommand):
runner = task.SyncRunner() runner = task.SyncRunner()
from morituri.common import encode from whipper.common import encode
logger.debug('Reading tags from %s' % path.encode('utf-8')) logger.debug('Reading tags from %s' % path.encode('utf-8'))
tagtask = encode.TagReadTask(path) tagtask = encode.TagReadTask(path)
@@ -238,7 +236,7 @@ Example disc id: KnpGsLhvH.lPrNc1PBL21lb9Bg4-"""
sys.stdout.write('Please specify a MusicBrainz disc id.\n') sys.stdout.write('Please specify a MusicBrainz disc id.\n')
return 3 return 3
from morituri.common import mbngs from whipper.common import mbngs
metadatas = mbngs.musicbrainz(discId, record=self.options.record) metadatas = mbngs.musicbrainz(discId, record=self.options.record)
sys.stdout.write('%d releases\n' % len(metadatas)) sys.stdout.write('%d releases\n' % len(metadatas))
@@ -265,7 +263,7 @@ class CDParanoia(BaseCommand):
description = summary description = summary
def do(self): def do(self):
from morituri.program import cdparanoia from whipper.program import cdparanoia
version = cdparanoia.getCdParanoiaVersion() version = cdparanoia.getCdParanoiaVersion()
sys.stdout.write("cdparanoia version: %s\n" % version) sys.stdout.write("cdparanoia version: %s\n" % version)
@@ -275,7 +273,7 @@ class CDRDAO(BaseCommand):
description = summary description = summary
def do(self): def do(self):
from morituri.program import cdrdao from whipper.program import cdrdao
version = cdrdao.getCDRDAOVersion() version = cdrdao.getCDRDAOVersion()
sys.stdout.write("cdrdao version: %s\n" % version) sys.stdout.write("cdrdao version: %s\n" % version)

View File

@@ -1,31 +1,29 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import sys import sys
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import config, drive from whipper.common import config, drive
from morituri.extern.task import task from whipper.extern.task import task
from morituri.program import cdparanoia from whipper.program import cdparanoia
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,34 +1,32 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import os import os
import sys import sys
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import accurip, config, program from whipper.common import accurip, config, program
from morituri.common import encode from whipper.common import encode
from morituri.extern.task import task from whipper.extern.task import task
from morituri.image import image from whipper.image import image
from morituri.result import result from whipper.result import result
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -6,20 +6,20 @@ import sys
import pkg_resources import pkg_resources
import musicbrainzngs import musicbrainzngs
import morituri import whipper
from morituri.command import cd, offset, drive, image, accurip, debug from whipper.command import cd, offset, drive, image, accurip, debug
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import common, directory from whipper.common import common, directory
from morituri.extern.task import task from whipper.extern.task import task
from morituri.program.utils import eject_device from whipper.program.utils import eject_device
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def main(): def main():
# set user agent # set user agent
musicbrainzngs.set_useragent("whipper", morituri.__version__, musicbrainzngs.set_useragent("whipper", whipper.__version__,
"https://github.com/JoeLametta/whipper") "https://github.com/JoeLametta/whipper")
# register plugins with pkg_resources # register plugins with pkg_resources
distributions, _ = pkg_resources.working_set.find_plugins( distributions, _ = pkg_resources.working_set.find_plugins(
@@ -92,5 +92,5 @@ You can get help on subcommands by using the -h option to the subcommand.
self.parser.print_help() self.parser.print_help()
sys.exit(0) sys.exit(0)
if self.options.version: if self.options.version:
print "whipper %s" % morituri.__version__ print "whipper %s" % whipper.__version__
sys.exit(0) sys.exit(0)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import argparse import argparse
import os import os
@@ -28,13 +26,13 @@ import tempfile
import gobject import gobject
gobject.threads_init() gobject.threads_init()
from morituri.command.basecommand import BaseCommand from whipper.command.basecommand import BaseCommand
from morituri.common import accurip, common, config, drive, program from whipper.common import accurip, common, config, drive, program
from morituri.common import task as ctask from whipper.common import task as ctask
from morituri.program import cdrdao, cdparanoia, utils from whipper.program import cdrdao, cdparanoia, utils
from morituri.common import checksum from whipper.common import checksum
from morituri.extern.task import task from whipper.extern.task import task
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -198,7 +196,7 @@ CD in the AccurateRip database."""
logger.debug('Ripping track %r with offset %d ...', track, offset) logger.debug('Ripping track %r with offset %d ...', track, offset)
fd, path = tempfile.mkstemp( fd, path = tempfile.mkstemp(
suffix=u'.track%02d.offset%d.morituri.wav' % ( suffix=u'.track%02d.offset%d.whipper.wav' % (
track, offset)) track, offset))
os.close(fd) os.close(fd)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_accurip -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_accurip -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import errno import errno
import os import os
@@ -26,7 +24,7 @@ import struct
import urlparse import urlparse
import urllib2 import urllib2
from morituri.common import directory from whipper.common import directory
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_cache -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_cache -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import os import os
import os.path import os.path
@@ -26,8 +24,8 @@ import glob
import tempfile import tempfile
import shutil import shutil
from morituri.result import result from whipper.result import result
from morituri.common import directory from whipper.common import directory
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -81,7 +79,7 @@ class Persister:
# pickle # pickle
self.object = obj self.object = obj
(fd, path) = tempfile.mkstemp(suffix='.morituri.pickle') (fd, path) = tempfile.mkstemp(suffix='.whipper.pickle')
handle = os.fdopen(fd, 'wb') handle = os.fdopen(fd, 'wb')
import pickle import pickle
pickle.dump(obj, handle, 2) pickle.dump(obj, handle, 2)

View File

@@ -1,32 +1,30 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_checksum -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_checksum -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import binascii import binascii
import wave import wave
from morituri.extern.task import task as etask from whipper.extern.task import task as etask
from morituri.program.arc import accuraterip_checksum from whipper.program.arc import accuraterip_checksum
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_common -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_common -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import os import os
@@ -27,7 +25,7 @@ import commands
import math import math
import subprocess import subprocess
from morituri.extern import asyncsub from whipper.extern import asyncsub
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_config -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_config -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import ConfigParser import ConfigParser
import codecs import codecs
@@ -27,7 +25,7 @@ import shutil
import tempfile import tempfile
import urllib import urllib
from morituri.common import directory from whipper.common import directory
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -51,7 +49,7 @@ class Config:
len(self._parser.sections())) len(self._parser.sections()))
def write(self): def write(self):
fd, path = tempfile.mkstemp(suffix=u'.moriturirc') fd, path = tempfile.mkstemp(suffix=u'.whipperrc')
handle = os.fdopen(fd, 'w') handle = os.fdopen(fd, 'w')
self._parser.write(handle) self._parser.write(handle)
handle.close() handle.close()

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_directory -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_directory -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2013 Thomas Vander Stichele # Copyright (C) 2013 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
from os import getenv, makedirs from os import getenv, makedirs
from os.path import join, expanduser, exists from os.path import join, expanduser, exists

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_drive -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_drive -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import os import os

View File

@@ -1,32 +1,30 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_encode -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_encode -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
from mutagen.flac import FLAC from mutagen.flac import FLAC
from morituri.extern.task import task from whipper.extern.task import task
from morituri.program import sox from whipper.program import sox
from morituri.program import flac from whipper.program import flac
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -65,7 +63,7 @@ class FlacEncodeTask(task.Task):
# TODO: Wizzup: Do we really want this as 'Task'...? # TODO: Wizzup: Do we really want this as 'Task'...?
# I only made it a task for now because that it's easier to integrate in # I only made it a task for now because that it's easier to integrate in
# program/cdparanoia.py - where morituri currently does the tagging. # program/cdparanoia.py - where whipper currently does the tagging.
# We should just move the tagging to a more sensible place. # We should just move the tagging to a more sensible place.
class TaggingTask(task.Task): class TaggingTask(task.Task):
description = 'Writing tags to FLAC' description = 'Writing tags to FLAC'

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_mbngs -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_mbngs -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009, 2010, 2011 Thomas Vander Stichele # Copyright (C) 2009, 2010, 2011 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
""" """
Handles communication with the musicbrainz server using NGS. Handles communication with the musicbrainz server using NGS.
@@ -90,7 +88,7 @@ def _record(record, which, name, what):
# optionally record to disc as a JSON serialization # optionally record to disc as a JSON serialization
if record: if record:
import json import json
filename = 'morituri.%s.%s.json' % (which, name) filename = 'whipper.%s.%s.json' % (which, name)
handle = open(filename, 'w') handle = open(filename, 'w')
handle.write(json.dumps(what)) handle.write(json.dumps(what))
handle.close() handle.close()

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_path -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_path -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import re import re

View File

@@ -1,27 +1,25 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_program -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_program -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009, 2010, 2011 Thomas Vander Stichele # Copyright (C) 2009, 2010, 2011 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
""" """
Common functionality and class for all programs using morituri. Common functionality and class for all programs using whipper.
""" """
import musicbrainzngs import musicbrainzngs
@@ -29,11 +27,11 @@ import os
import sys import sys
import time import time
from morituri.common import common, mbngs, cache, path from whipper.common import common, mbngs, cache, path
from morituri.common import checksum from whipper.common import checksum
from morituri.program import cdrdao, cdparanoia from whipper.program import cdrdao, cdparanoia
from morituri.image import image from whipper.image import image
from morituri.extern.task import task from whipper.extern.task import task
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -51,7 +49,7 @@ class Program:
@ivar result: the rip's result @ivar result: the rip's result
@type result: L{result.RipResult} @type result: L{result.RipResult}
@type outdir: unicode @type outdir: unicode
@type config: L{morituri.common.config.Config} @type config: L{whipper.common.config.Config}
""" """
cuePath = None cuePath = None
@@ -286,7 +284,7 @@ class Program:
def getMusicBrainz(self, ittoc, mbdiscid, release=None, country=None, prompt=False): def getMusicBrainz(self, ittoc, mbdiscid, release=None, country=None, prompt=False):
""" """
@type ittoc: L{morituri.image.table.Table} @type ittoc: L{whipper.image.table.Table}
""" """
# look up disc on musicbrainz # look up disc on musicbrainz
self._stdout.write('Disc duration: %s, %d audio tracks\n' % ( self._stdout.write('Disc duration: %s, %d audio tracks\n' % (

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_renamer -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_renamer -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import os import os
import tempfile import tempfile
@@ -201,7 +199,7 @@ class RenameInFile(Operation):
def do(self): def do(self):
with open(self._path) as handle: with open(self._path) as handle:
(fd, name) = tempfile.mkstemp(suffix='.morituri') (fd, name) = tempfile.mkstemp(suffix='.whipper')
for s in handle: for s in handle:
os.write(fd, s.replace(self._source, self._destination)) os.write(fd, s.replace(self._source, self._destination))

View File

@@ -5,8 +5,8 @@ import os
import signal import signal
import subprocess import subprocess
from morituri.extern import asyncsub from whipper.extern import asyncsub
from morituri.extern.task import task from whipper.extern.task import task
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python -*- # -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import sys import sys

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_image_cue -*- # -*- Mode: Python; test-case-name: whipper.test.test_image_cue -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
""" """
Reading .cue files Reading .cue files
@@ -29,8 +27,8 @@ See http://digitalx.org/cuesheetsyntax.php
import re import re
import codecs import codecs
from morituri.common import common from whipper.common import common
from morituri.image import table from whipper.image import table
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_image_image -*- # -*- Mode: Python; test-case-name: whipper.test.test_image_image -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
""" """
Wrap on-disk CD images based on the .cue file. Wrap on-disk CD images based on the .cue file.
@@ -26,12 +24,12 @@ Wrap on-disk CD images based on the .cue file.
import os import os
from morituri.common import encode from whipper.common import encode
from morituri.common import common from whipper.common import common
from morituri.common import checksum from whipper.common import checksum
from morituri.image import cue, table from whipper.image import cue, table
from morituri.extern.task import task from whipper.extern.task import task
from morituri.program.soxi import AudioLengthTask from whipper.program.soxi import AudioLengthTask
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_image_table -*- # -*- Mode: Python; test-case-name: whipper.test.test_image_table -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
""" """
Wrap Table of Contents. Wrap Table of Contents.
@@ -28,9 +26,9 @@ import copy
import urllib import urllib
import urlparse import urlparse
import morituri import whipper
from morituri.common import common from whipper.common import common
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -527,7 +525,7 @@ class Table(object):
discId1[-1], discId1[-2], discId1[-3], discId1[-1], discId1[-2], discId1[-3],
self.getAudioTracks(), discId1, discId2, self.getCDDBDiscId()) self.getAudioTracks(), discId1, discId2, self.getCDDBDiscId())
def cue(self, cuePath='', program='morituri'): def cue(self, cuePath='', program='whipper'):
""" """
@param cuePath: path to the cue file to be written. If empty, @param cuePath: path to the cue file to be written. If empty,
will treat paths as if in current directory. will treat paths as if in current directory.
@@ -556,7 +554,7 @@ class Table(object):
assert self.hasTOC(), "Table does not represent a full CD TOC" assert self.hasTOC(), "Table does not represent a full CD TOC"
lines.append('REM DISCID %s' % self.getCDDBDiscId().upper()) lines.append('REM DISCID %s' % self.getCDDBDiscId().upper())
lines.append('REM COMMENT "%s %s"' % (program, morituri.__version__)) lines.append('REM COMMENT "%s %s"' % (program, whipper.__version__))
if self.catalog: if self.catalog:
lines.append("CATALOG %s" % self.catalog) lines.append("CATALOG %s" % self.catalog)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_image_toc -*- # -*- Mode: Python; test-case-name: whipper.test.test_image_toc -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
""" """
Reading .toc files Reading .toc files
@@ -29,8 +27,8 @@ The .toc file format is described in the man page of cdrdao
import re import re
import codecs import codecs
from morituri.common import common from whipper.common import common
from morituri.image import table from whipper.image import table
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_program_cdparanoia -*- # -*- Mode: Python; test-case-name: whipper.test.test_program_cdparanoia -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import errno import errno
import os import os
@@ -29,10 +27,10 @@ import subprocess
import tempfile import tempfile
import time import time
from morituri.common import common from whipper.common import common
from morituri.common import task as ctask from whipper.common import task as ctask
from morituri.extern import asyncsub from whipper.extern import asyncsub
from morituri.extern.task import task from whipper.extern.task import task
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -454,12 +452,12 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
if taglist: if taglist:
logger.debug('read and verify with taglist %r', taglist) logger.debug('read and verify with taglist %r', taglist)
# FIXME: choose a dir on the same disk/dir as the final path # FIXME: choose a dir on the same disk/dir as the final path
fd, tmppath = tempfile.mkstemp(suffix='.morituri.wav') fd, tmppath = tempfile.mkstemp(suffix='.whipper.wav')
tmppath = unicode(tmppath) tmppath = unicode(tmppath)
os.close(fd) os.close(fd)
self._tmpwavpath = tmppath self._tmpwavpath = tmppath
from morituri.common import checksum from whipper.common import checksum
self.tasks = [] self.tasks = []
self.tasks.append( self.tasks.append(
@@ -484,7 +482,7 @@ class ReadVerifyTrackTask(task.MultiSeparateTask):
self._tmppath = tmpoutpath self._tmppath = tmpoutpath
self.path = path self.path = path
from morituri.common import encode from whipper.common import encode
self.tasks.append(encode.FlacEncodeTask(tmppath, tmpoutpath)) self.tasks.append(encode.FlacEncodeTask(tmppath, tmpoutpath))
@@ -581,7 +579,7 @@ class AnalyzeTask(ctask.PopenTask):
def __init__(self, device=None): def __init__(self, device=None):
# cdparanoia -A *always* writes cdparanoia.log # cdparanoia -A *always* writes cdparanoia.log
self.cwd = tempfile.mkdtemp(suffix='.morituri.cache') self.cwd = tempfile.mkdtemp(suffix='.whipper.cache')
self.command = ['cdparanoia', '-A'] self.command = ['cdparanoia', '-A']
if device: if device:
self.command += ['-d', device] self.command += ['-d', device]

View File

@@ -3,8 +3,8 @@ import re
import tempfile import tempfile
from subprocess import Popen, PIPE from subprocess import Popen, PIPE
from morituri.common.common import EjectError from whipper.common.common import EjectError
from morituri.image.toc import TocFile from whipper.image.toc import TocFile
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -6,7 +6,7 @@ logger = logging.getLogger(__name__)
def encode(infile, outfile): def encode(infile, outfile):
""" """
Encodes infile to outfile, with flac. Encodes infile to outfile, with flac.
Uses '-f' because morituri already creates the file. Uses '-f' because whipper already creates the file.
""" """
try: try:
# TODO: Replace with Popen so that we can catch stderr and write it to # TODO: Replace with Popen so that we can catch stderr and write it to

View File

@@ -1,7 +1,7 @@
import os import os
from morituri.common import common from whipper.common import common
from morituri.common import task as ctask from whipper.common import task as ctask
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,13 +1,13 @@
import time import time
import hashlib import hashlib
import morituri import whipper
from morituri.common import common from whipper.common import common
from morituri.result import result from whipper.result import result
class MorituriLogger(result.Logger): class WhipperLogger(result.Logger):
_accuratelyRipped = 0 _accuratelyRipped = 0
_inARDatabase = 0 _inARDatabase = 0
@@ -26,7 +26,7 @@ class MorituriLogger(result.Logger):
# Ripper version # Ripper version
lines.append("Log created by: whipper %s (internal logger)" % lines.append("Log created by: whipper %s (internal logger)" %
morituri.__version__) whipper.__version__)
# Rip date # Rip date
date = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime(epoch)).strip() date = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime(epoch)).strip()

View File

@@ -1,24 +1,22 @@
# -*- Mode: Python; test-case-name: morituri.test.test_result_result -*- # -*- Mode: Python; test-case-name: whipper.test.test_result_result -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
# Morituri - for those about to RIP
# Copyright (C) 2009 Thomas Vander Stichele # Copyright (C) 2009 Thomas Vander Stichele
# This file is part of morituri. # This file is part of whipper.
# #
# morituri is free software: you can redistribute it and/or modify # whipper is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# morituri is distributed in the hope that it will be useful, # whipper is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with morituri. If not, see <http://www.gnu.org/licenses/>. # along with whipper. If not, see <http://www.gnu.org/licenses/>.
import pkg_resources import pkg_resources
import time import time
@@ -83,7 +81,7 @@ class RipResult:
@ivar offset: sample read offset @ivar offset: sample read offset
@ivar table: the full index table @ivar table: the full index table
@type table: L{morituri.image.table.Table} @type table: L{whipper.image.table.Table}
@ivar vendor: vendor of the CD drive @ivar vendor: vendor of the CD drive
@ivar model: model of the CD drive @ivar model: model of the CD drive
@@ -149,22 +147,22 @@ class Logger(object):
class EntryPoint(object): class EntryPoint(object):
name = 'morituri' name = 'whipper'
def load(self): def load(self):
from morituri.result import logger from whipper.result import logger
return logger.MorituriLogger return logger.WhipperLogger
def getLoggers(): def getLoggers():
""" """
Get all logger plugins with entry point 'morituri.logger'. Get all logger plugins with entry point 'whipper.logger'.
@rtype: dict of C{str} -> C{Logger} @rtype: dict of C{str} -> C{Logger}
""" """
d = {} d = {}
pluggables = list(pkg_resources.iter_entry_points("morituri.logger")) pluggables = list(pkg_resources.iter_entry_points("whipper.logger"))
for entrypoint in [EntryPoint(), ] + pluggables: for entrypoint in [EntryPoint(), ] + pluggables:
plugin_class = entrypoint.load() plugin_class = entrypoint.load()
d[entrypoint.name] = plugin_class d[entrypoint.name] = plugin_class

View File

@@ -1,5 +1,5 @@
REM DISCID AD0BE00D REM DISCID AD0BE00D
REM COMMENT "morituri 0.5.1" REM COMMENT "whipper 0.5.1"
FILE "data.wav" WAVE FILE "data.wav" WAVE
TRACK 01 AUDIO TRACK 01 AUDIO
PREGAP 03:22:70 PREGAP 03:22:70

View File

@@ -1,5 +1,5 @@
REM DISCID BE08990D REM DISCID BE08990D
REM COMMENT "morituri 0.5.1" REM COMMENT "whipper 0.5.1"
CATALOG 0652637280326 CATALOG 0652637280326
PERFORMER "THE BREEDERS" PERFORMER "THE BREEDERS"
TITLE "MOUNTAIN BATTLES" TITLE "MOUNTAIN BATTLES"

View File

@@ -0,0 +1,903 @@
(iwhipper.result.result
RipResult
p1
(dp2
S'vendor'
p3
S'PLEXTOR '
p4
sS'artist'
p5
S"Destiny's Child"
p6
sS'title'
p7
S"The Writing's on the Wall"
p8
sS'tracks'
p9
(lp10
(iwhipper.result.result
TrackResult
p11
(dp12
S'testcrc'
p13
I938873735
sS'quality'
p14
F1
sS'number'
p15
I1
sS'filename'
p16
Vwhipper/Destiny's Child - The Writing's on the Wall/01. Destiny's Child - Intro (The Writing's on the Wall).flac
p17
sS'peak'
p18
F0.988555908203125
sS'pregap'
p19
I0
sS'copycrc'
p20
I938873735
sba(iwhipper.result.result
TrackResult
p21
(dp22
g13
I764981533
sg14
F1
sg15
I2
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/02. Destiny's Child - So Good.flac
p23
sg18
F0.988555908203125
sg19
I0
sg20
I764981533
sba(iwhipper.result.result
TrackResult
p24
(dp25
g13
I4263524715
sg14
F1
sg15
I3
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/03. Destiny's Child - Bills, Bills, Bills.flac
p26
sg18
F0.988555908203125
sg19
I0
sg20
I4263524715
sba(iwhipper.result.result
TrackResult
p27
(dp28
g13
I30436888
sg14
F1
sg15
I4
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/04. Destiny's Child - Confessions (feat. Missy Elliott).flac
p29
sg18
F0.9322509765625
sg19
I0
sg20
I30436888
sba(iwhipper.result.result
TrackResult
p30
(dp31
g13
I1780180644
sg14
F1
sg15
I5
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/05. Destiny's Child - Bug a Boo.flac
p32
sg18
F0.988555908203125
sg19
I0
sg20
I1780180644
sba(iwhipper.result.result
TrackResult
p33
(dp34
g13
I2209417071
sg14
F1
sg15
I6
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/06. Destiny's Child - Temptation.flac
p35
sg18
F0.988555908203125
sg19
I0
sg20
I2209417071
sba(iwhipper.result.result
TrackResult
p36
(dp37
g13
I3797794701
sg14
F1
sg15
I7
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/07. Destiny's Child - Now That She's Gone.flac
p38
sg18
F0.98748779296875
sg19
I0
sg20
I3797794701
sba(iwhipper.result.result
TrackResult
p39
(dp40
g13
I3950896430
sg14
F1
sg15
I8
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/08. Destiny's Child - Where'd You Go.flac
p41
sg18
F0.987518310546875
sg19
I0
sg20
I3950896430
sba(iwhipper.result.result
TrackResult
p42
(dp43
g13
I1794899732
sg14
F1
sg15
I9
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/09. Destiny's Child - Hey Ladies.flac
p44
sg18
F0.98748779296875
sg19
I0
sg20
I1794899732
sba(iwhipper.result.result
TrackResult
p45
(dp46
g13
I1955082442
sg14
F1
sg15
I10
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/10. Destiny's Child - If You Leave (feat. Next).flac
p47
sg18
F0.987518310546875
sg19
I0
sg20
I1955082442
sba(iwhipper.result.result
TrackResult
p48
(dp49
g13
I1068452097
sg14
F1
sg15
I11
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/11. Destiny's Child - Jumpin', Jumpin'.flac
p50
sg18
F0.987518310546875
sg19
I0
sg20
I1068452097
sba(iwhipper.result.result
TrackResult
p51
(dp52
g13
I745616805
sg14
F1
sg15
I12
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/12. Destiny's Child - Say My Name.flac
p53
sg18
F0.98748779296875
sg19
I0
sg20
I745616805
sba(iwhipper.result.result
TrackResult
p54
(dp55
g13
I4044254516
sg14
F1
sg15
I13
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/13. Destiny's Child - She Can't Love You.flac
p56
sg18
F0.98748779296875
sg19
I0
sg20
I4044254516
sba(iwhipper.result.result
TrackResult
p57
(dp58
g13
I1397142025
sg14
F1
sg15
I14
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/14. Destiny's Child - Stay.flac
p59
sg18
F0.98748779296875
sg19
I0
sg20
I1397142025
sba(iwhipper.result.result
TrackResult
p60
(dp61
g13
I379991554
sg14
F1
sg15
I15
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/15. Destiny's Child - Sweet Sixteen.flac
p62
sg18
F0.98748779296875
sg19
I0
sg20
I379991554
sba(iwhipper.result.result
TrackResult
p63
(dp64
g13
I554404073
sg14
F1
sg15
I16
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/16. Destiny's Child - Outro (Amazing Grace... Dedicated to Andretta Tillman).flac
p65
sg18
F0.987396240234375
sg19
I0
sg20
I554404073
sba(iwhipper.result.result
TrackResult
p66
(dp67
g13
I1166447811
sg14
F1
sg15
I17
sg16
Vwhipper/Destiny's Child - The Writing's on the Wall/17. Destiny's Child - Get on the Bus.flac
p68
sg18
F0.988494873046875
sg19
I0
sg20
I1166447811
sbasS'offset'
p69
I48
sS'table'
p70
ccopy_reg
_reconstructor
p71
(cwhipper.image.table
Table
p72
c__builtin__
object
p73
NtRp74
(dp75
S'catalog'
p76
V5099749439429
p77
sg9
(lp78
(iwhipper.image.table
Track
p79
(dp80
S'isrc'
p81
VUSSM19901053
p82
sS'audio'
p83
I01
sg15
I1
sS'cdtext'
p84
(dp85
sS'indexes'
p86
(dp87
I1
(iwhipper.image.table
Index
p88
(dp89
S'relative'
p90
I0
sS'path'
p91
g17
sS'counter'
p92
I1
sg15
I1
sS'absolute'
p93
I0
sbssba(iwhipper.image.table
Track
p94
(dp95
g81
VUSSM19901043
p96
sg83
I01
sg15
I2
sg84
(dp97
sg86
(dp98
I1
(iwhipper.image.table
Index
p99
(dp100
g90
I0
sg91
g23
sg92
I2
sg15
I1
sg93
I9435
sbssba(iwhipper.image.table
Track
p101
(dp102
g81
VUSSM19900561
p103
sg83
I01
sg15
I3
sg84
(dp104
sg86
(dp105
I1
(iwhipper.image.table
Index
p106
(dp107
g90
I0
sg91
g26
sg92
I3
sg15
I1
sg93
I23980
sbssba(iwhipper.image.table
Track
p108
(dp109
g81
VUSSM19901050
p110
sg83
I01
sg15
I4
sg84
(dp111
sg86
(dp112
I1
(iwhipper.image.table
Index
p113
(dp114
g90
I0
sg91
g29
sg92
I4
sg15
I1
sg93
I43182
sbssba(iwhipper.image.table
Track
p115
(dp116
g81
VUSSM19901045
p117
sg83
I01
sg15
I5
sg84
(dp118
sg86
(dp119
I1
(iwhipper.image.table
Index
p120
(dp121
g90
I0
sg91
g32
sg92
I5
sg15
I1
sg93
I65482
sbssba(iwhipper.image.table
Track
p122
(dp123
g81
VUSSM19901046
p124
sg83
I01
sg15
I6
sg84
(dp125
sg86
(dp126
I1
(iwhipper.image.table
Index
p127
(dp128
g90
I0
sg91
g35
sg92
I6
sg15
I1
sg93
I81415
sbssba(iwhipper.image.table
Track
p129
(dp130
g81
VUSSM19901049
p131
sg83
I01
sg15
I7
sg84
(dp132
sg86
(dp133
I1
(iwhipper.image.table
Index
p134
(dp135
g90
I0
sg91
g38
sg92
I7
sg15
I1
sg93
I99835
sbssba(iwhipper.image.table
Track
p136
(dp137
g81
VUSSM19901048
p138
sg83
I01
sg15
I8
sg84
(dp139
sg86
(dp140
I1
(iwhipper.image.table
Index
p141
(dp142
g90
I0
sg91
g41
sg92
I8
sg15
I1
sg93
I124995
sbssba(iwhipper.image.table
Track
p143
(dp144
g81
VUSSM19901044
p145
sg83
I01
sg15
I9
sg84
(dp146
sg86
(dp147
I1
(iwhipper.image.table
Index
p148
(dp149
g90
I0
sg91
g44
sg92
I9
sg15
I1
sg93
I144140
sbssba(iwhipper.image.table
Track
p150
(dp151
g81
VUSSM19901055
p152
sg83
I01
sg15
I10
sg84
(dp153
sg86
(dp154
I1
(iwhipper.image.table
Index
p155
(dp156
g90
I0
sg91
g47
sg92
I10
sg15
I1
sg93
I163335
sbssba(iwhipper.image.table
Track
p157
(dp158
g81
VUSSM19901054
p159
sg83
I01
sg15
I11
sg84
(dp160
sg86
(dp161
I1
(iwhipper.image.table
Index
p162
(dp163
g90
I0
sg91
g50
sg92
I11
sg15
I1
sg93
I183972
sbssba(iwhipper.image.table
Track
p164
(dp165
g81
VUSSM19901056
p166
sg83
I01
sg15
I12
sg84
(dp167
sg86
(dp168
I1
(iwhipper.image.table
Index
p169
(dp170
g90
I0
sg91
g53
sg92
I12
sg15
I1
sg93
I201237
sbssba(iwhipper.image.table
Track
p171
(dp172
g81
VUSSM19901056
p173
sg83
I01
sg15
I13
sg84
(dp174
sg86
(dp175
I1
(iwhipper.image.table
Index
p176
(dp177
g90
I0
sg91
g56
sg92
I13
sg15
I1
sg93
I221587
sbssba(iwhipper.image.table
Track
p178
(dp179
g81
VUSSM19901051
p180
sg83
I01
sg15
I14
sg84
(dp181
sg86
(dp182
I1
(iwhipper.image.table
Index
p183
(dp184
g90
I0
sg91
g59
sg92
I14
sg15
I1
sg93
I239952
sbssba(iwhipper.image.table
Track
p185
(dp186
g81
VUSSM19901047
p187
sg83
I01
sg15
I15
sg84
(dp188
sg86
(dp189
I1
(iwhipper.image.table
Index
p190
(dp191
g90
I0
sg91
g62
sg92
I15
sg15
I1
sg93
I261795
sbssba(iwhipper.image.table
Track
p192
(dp193
g81
VUSSM19901052
p194
sg83
I01
sg15
I16
sg84
(dp195
sg86
(dp196
I1
(iwhipper.image.table
Index
p197
(dp198
g90
I0
sg91
g65
sg92
I16
sg15
I1
sg93
I280750
sbssba(iwhipper.image.table
Track
p199
(dp200
g83
I01
sg15
I17
sg84
(dp201
sg86
(dp202
I1
(iwhipper.image.table
Index
p203
(dp204
g90
I0
sg91
g68
sg92
I17
sg15
I1
sg93
I292627
sbssbasS'logName'
p205
S'Table 0x023B9D90'
p206
sg84
(dp207
sS'instanceVersion'
p208
I2
sS'leadout'
p209
I313955
sbsS'model'
p210
S'DVDR PX-810SA '
p211
sb.

View File

@@ -5,7 +5,7 @@ import re
import os import os
import sys import sys
import morituri import whipper
# twisted's unittests have skip support, standard unittest don't # twisted's unittests have skip support, standard unittest don't
from twisted.trial import unittest from twisted.trial import unittest
@@ -70,8 +70,8 @@ class TestCase(unittest.TestCase):
ret = open(os.path.join(os.path.dirname(__file__), name)).read( ret = open(os.path.join(os.path.dirname(__file__), name)).read(
).decode('utf-8') ).decode('utf-8')
ret = re.sub( ret = re.sub(
'REM COMMENT "Morituri.*', 'REM COMMENT "whipper.*',
'REM COMMENT "Morituri %s"' % (morituri.__version__), 'REM COMMENT "whipper %s"' % (whipper.__version__),
ret, re.MULTILINE) ret, re.MULTILINE)
return ret return ret
@@ -80,7 +80,7 @@ class UnicodeTestMixin:
# A helper mixin to skip tests if we're not in a UTF-8 locale # A helper mixin to skip tests if we're not in a UTF-8 locale
try: try:
os.stat(u'morituri.test.B\xeate Noire.empty') os.stat(u'whipper.test.B\xeate Noire.empty')
except UnicodeEncodeError: except UnicodeEncodeError:
skip = 'No UTF-8 locale' skip = 'No UTF-8 locale'
except OSError: except OSError:

View File

@@ -1,5 +1,5 @@
REM DISCID B90C650D REM DISCID B90C650D
REM COMMENT "morituri 0.5.1" REM COMMENT "whipper 0.5.1"
CATALOG 0602517642256 CATALOG 0602517642256
FILE "data.wav" WAVE FILE "data.wav" WAVE
TRACK 01 AUDIO TRACK 01 AUDIO

View File

@@ -1,5 +1,5 @@
(lp0 (lp0
(imorituri.result.result (iwhipper.result.result
TrackResult TrackResult
p1 p1
(dp2 (dp2
@@ -22,7 +22,7 @@ sS'filename'
p8 p8
V/home/thomas/Bloc Party - Silent Alarm/00. Bloc Party - Hidden Track One Audio.flac V/home/thomas/Bloc Party - Silent Alarm/00. Bloc Party - Hidden Track One Audio.flac
p9 p9
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p10 p10
(dp11 (dp11
@@ -57,7 +57,7 @@ p18
I15220 I15220
sg5 sg5
L1476997036L L1476997036L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p19 p19
(dp20 (dp20
@@ -86,7 +86,7 @@ sg18
I0 I0
sg5 sg5
L2118180996L L2118180996L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p22 p22
(dp23 (dp23
@@ -115,7 +115,7 @@ sg18
I0 I0
sg5 sg5
L2397618238L L2397618238L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p25 p25
(dp26 (dp26
@@ -144,7 +144,7 @@ sg18
I0 I0
sg5 sg5
L1340624205L L1340624205L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p28 p28
(dp29 (dp29
@@ -173,7 +173,7 @@ sg18
I72 I72
sg5 sg5
L183201985L L183201985L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p31 p31
(dp32 (dp32
@@ -202,7 +202,7 @@ sg18
I41 I41
sg5 sg5
L221401921L L221401921L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p34 p34
(dp35 (dp35
@@ -231,7 +231,7 @@ sg18
I17 I17
sg5 sg5
L3133726276L L3133726276L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p37 p37
(dp38 (dp38
@@ -260,7 +260,7 @@ sg18
I4 I4
sg5 sg5
L2318646110L L2318646110L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p40 p40
(dp41 (dp41
@@ -289,7 +289,7 @@ sg18
I11 I11
sg5 sg5
L3145161267L L3145161267L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p43 p43
(dp44 (dp44
@@ -318,7 +318,7 @@ sg18
I0 I0
sg5 sg5
L3022257630L L3022257630L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p46 p46
(dp47 (dp47
@@ -347,7 +347,7 @@ sg18
I43 I43
sg5 sg5
L2011827324L L2011827324L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p49 p49
(dp50 (dp50
@@ -376,7 +376,7 @@ sg18
I116 I116
sg5 sg5
L933582879L L933582879L
sba(imorituri.result.result sba(iwhipper.result.result
TrackResult TrackResult
p52 p52
(dp53 (dp53

View File

@@ -1,11 +1,11 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_accurip -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_accurip -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
import os import os
from morituri.common import accurip from whipper.common import accurip
from morituri.test import common as tcommon from whipper.test import common as tcommon
class AccurateRipResponseTestCase(tcommon.TestCase): class AccurateRipResponseTestCase(tcommon.TestCase):

View File

@@ -1,11 +1,11 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_cache -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_cache -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
import os import os
from morituri.common import cache from whipper.common import cache
from morituri.test import common as tcommon from whipper.test import common as tcommon
class ResultCacheTestCase(tcommon.TestCase): class ResultCacheTestCase(tcommon.TestCase):

View File

@@ -1,18 +1,18 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_common -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_common -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
import os import os
import tempfile import tempfile
from morituri.common import common from whipper.common import common
from morituri.test import common as tcommon from whipper.test import common as tcommon
class ShrinkTestCase(tcommon.TestCase): class ShrinkTestCase(tcommon.TestCase):
def testSufjan(self): def testSufjan(self):
path = (u'morituri/Sufjan Stevens - Illinois/02. Sufjan Stevens - ' path = (u'whipper/Sufjan Stevens - Illinois/02. Sufjan Stevens - '
'The Black Hawk War, or, How to Demolish an Entire ' 'The Black Hawk War, or, How to Demolish an Entire '
'Civilization and Still Feel Good About Yourself in the ' 'Civilization and Still Feel Good About Yourself in the '
'Morning, or, We Apologize for the Inconvenience but ' 'Morning, or, We Apologize for the Inconvenience but '

View File

@@ -1,18 +1,18 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_config -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_config -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
import os import os
import tempfile import tempfile
from morituri.common import config from whipper.common import config
from morituri.test import common as tcommon from whipper.test import common as tcommon
class ConfigTestCase(tcommon.TestCase): class ConfigTestCase(tcommon.TestCase):
def setUp(self): def setUp(self):
fd, self._path = tempfile.mkstemp(suffix=u'.morituri.test.config') fd, self._path = tempfile.mkstemp(suffix=u'.whipper.test.config')
os.close(fd) os.close(fd)
self._config = config.Config(self._path) self._config = config.Config(self._path)

View File

@@ -1,9 +1,9 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_directory -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_directory -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
from morituri.common import directory from whipper.common import directory
from morituri.test import common from whipper.test import common
class DirectoryTestCase(common.TestCase): class DirectoryTestCase(common.TestCase):

View File

@@ -1,8 +1,8 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_drive -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_drive -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
from morituri.test import common from whipper.test import common
from morituri.common import drive from whipper.common import drive
class ListifyTestCase(common.TestCase): class ListifyTestCase(common.TestCase):

View File

@@ -1,4 +1,4 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_mbngs -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_mbngs -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
import os import os
@@ -6,7 +6,7 @@ import json
import unittest import unittest
from morituri.common import mbngs from whipper.common import mbngs
class MetadataTestCase(unittest.TestCase): class MetadataTestCase(unittest.TestCase):
@@ -14,7 +14,7 @@ class MetadataTestCase(unittest.TestCase):
# Generated with rip -R cd info # Generated with rip -R cd info
def testJeffEverybodySingle(self): def testJeffEverybodySingle(self):
path = os.path.join(os.path.dirname(__file__), path = os.path.join(os.path.dirname(__file__),
'morituri.release.3451f29c-9bb8-4cc5-bfcc-bd50104b94f8.json') 'whipper.release.3451f29c-9bb8-4cc5-bfcc-bd50104b94f8.json')
handle = open(path, "rb") handle = open(path, "rb")
response = json.loads(handle.read()) response = json.loads(handle.read())
handle.close() handle.close()
@@ -27,7 +27,7 @@ class MetadataTestCase(unittest.TestCase):
def test2MeterSessies10(self): def test2MeterSessies10(self):
# various artists, multiple artists per track # various artists, multiple artists per track
path = os.path.join(os.path.dirname(__file__), path = os.path.join(os.path.dirname(__file__),
'morituri.release.a76714e0-32b1-4ed4-b28e-f86d99642193.json') 'whipper.release.a76714e0-32b1-4ed4-b28e-f86d99642193.json')
handle = open(path, "rb") handle = open(path, "rb")
response = json.loads(handle.read()) response = json.loads(handle.read())
handle.close() handle.close()
@@ -55,7 +55,7 @@ class MetadataTestCase(unittest.TestCase):
def testBalladOfTheBrokenSeas(self): def testBalladOfTheBrokenSeas(self):
# various artists disc # various artists disc
path = os.path.join(os.path.dirname(__file__), path = os.path.join(os.path.dirname(__file__),
'morituri.release.e32ae79a-336e-4d33-945c-8c5e8206dbd3.json') 'whipper.release.e32ae79a-336e-4d33-945c-8c5e8206dbd3.json')
handle = open(path, "rb") handle = open(path, "rb")
response = json.loads(handle.read()) response = json.loads(handle.read())
handle.close() handle.close()
@@ -88,7 +88,7 @@ class MetadataTestCase(unittest.TestCase):
# single artist disc, but with multiple artists tracks # single artist disc, but with multiple artists tracks
# see https://github.com/thomasvs/morituri/issues/19 # see https://github.com/thomasvs/morituri/issues/19
path = os.path.join(os.path.dirname(__file__), path = os.path.join(os.path.dirname(__file__),
'morituri.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json') 'whipper.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json')
handle = open(path, "rb") handle = open(path, "rb")
response = json.loads(handle.read()) response = json.loads(handle.read())
handle.close() handle.close()

View File

@@ -1,9 +1,9 @@
# -*- Mode: Python; test-case-name: morituri.test.test_common_path -*- # -*- Mode: Python; test-case-name: whipper.test.test_common_path -*-
# vi:si:et:sw=4:sts=4:ts=4 # vi:si:et:sw=4:sts=4:ts=4
from morituri.common import path from whipper.common import path
from morituri.test import common from whipper.test import common
class FilterTestCase(common.TestCase): class FilterTestCase(common.TestCase):

Some files were not shown because too many files have changed in this diff Show More