If the template string contains variables which aren't valid for whipper, raise ValueError exception listing all the included unrecognized variables.
I've also corrected the example template configuration lines in the README.
Fixes#279.
Now Docker adopters can use whipper trough Docker Hub's automatically built images.
Thanks to user "anarcat" for proposing and thoroughly explaining how to reach this goal.
Closes#301.
* fix syntax error in Dockerfile
* fix Docker invocation
It makes no sense to pass the `-t` argument twice and we need to tell
Docker where to find the Dockerfile. Also, it makes sense to write the
config file in a standard location. In my tests, I also had to create
the directory by hand otherwise I got this error:
cdparanoia can defeat the audio cache on this drive.
Adding drive cache behaviour to configuration file.
Traceback (most recent call last):
File "/usr/local/bin/whipper", line 11, in <module>
load_entry_point('whipper==0.7.0', 'console_scripts', 'whipper')()
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/command/main.py", line 36, in main
ret = cmd.do()
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/command/basecommand.py", line 139, in do
return self.cmd.do()
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/command/basecommand.py", line 139, in do
return self.cmd.do()
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/command/drive.py", line 63, in do
info[0], info[1], info[2], t.defeatsCache)
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/common/config.py", line 115, in setDefeatsCache
section = self._findOrCreateDriveSection(vendor, model, release)
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/common/config.py", line 164, in _findOrCreateDriveSection
self.write()
File "/usr/local/lib/python2.7/dist-packages/whipper-0.7.0-py2.7.egg/whipper/common/config.py", line 58, in write
shutil.move(path, self._path)
File "/usr/lib/python2.7/shutil.py", line 316, in move
copy2(src, real_dst)
File "/usr/lib/python2.7/shutil.py", line 144, in copy2
copyfile(src, dst)
File "/usr/lib/python2.7/shutil.py", line 97, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: u'/home/worker/.config/whipper/whipper.conf'
* remove needless tag version
:latest is implicit so it's useless noise as well.
* Update README.md
* freedb: Import from python-audio-tools 660ee2c
License: GPL-2.0+
* freedb: Remove unused code and set client name to whipper.
The removed functions depend on other classes of python-audio-tools,
but aren't needed here.
* cddb-py: replace with newer freedb implementation
The last release of cddb-py was 15 years ago. The freedb code taken
from python-audio-tools speaks protocol version 6 (Unicode) and is
compatible to both Python 2 and 3.
* freedb: Don't allow the pedantic CI test to fail
* cd/offset: remove unused call to gobject.thread_init()
There are no threads involved.
* task: switch to PyGObject
Python-gobject-2 is deprecated.
* travis: update dependencies for PyGObject and GLib-2.0
* README: Add GObject Introspection
I'm going to tag this as a new amended version 0.5.1: no changes were done apart from the version number bugfix.
I've also included a code coverage report.
Fixes#147
There's now a "stable" `whipper` package, which is likely the main one
we want to link to. I kept in the link to the `whipper-git` package at
the end, but also added a link to the non-git `whipper` package.
* introduce logcommand.Lager, Whipper(); use argparse for whipper image commands, stub logging
* update Lager docstring to mention config.Config()
* make incorrect subcommand and --version work on toplevel command
* migrate accurip show, expand Lager, do not attempt to return from Lager.__init__.
* migrate offset find, add Lager.error
* correct offset find drive symlink handling
* migrate drive
* change Lager.__init__(prog) to arg from kwarg
* but actually
* remove Whipper.usage
* add and use Lager.device_option() context manager
* help I married an axe murderer
* use unified options namespace for entire command tree
* migrate whipper cd without comprehensive config loading
* switch to logging module
- use logging instead of flog for non-extern modules
- use WHIPPER_DEBUG and WHIPPER_LOGFILE env variables
* convert self.log calls to logger.debug
* convert self.error calls to logger.error
* remove log.Loggable, use logger not logging
* Logging conversion continues
- Convert log.* calls to logger.*
- Remove morituri.common.log imports
* remove morituri.common.log from tests
* remove extern/flog, bare minimum Debug conversion
* update README for logging changes
* update soxi to use logging
* refactor Lager for more declarative subcommands
* Refactor Lager.device_option:
- inline into __init__
- throw IOError instead of Exception for missing drives
- remove CommandError checking in rip/main
* rename rip to whipper in rip.main
* convert rip.debug commands
* Rename logcommand.Lager to command.BaseCommand
- remove command.CommandError occurrences
- remove python-command external module
* remove submodules from README, update rclog formatter
* update minor ambiguity in readme for command invocation
* update version number to match setup.py
* remove gitmodules
* update version number in tests as well (boo)
* convert logger.error to logger.critical
* Change morituri.rip to morituri.command
- mv common.command to command.basecommand
- move TEMPLATES used only by rip.cd out of rip.common
- update entry point for command to command.main
* update basecommand documentation
* go pyflaking: import fixing
* replace self.stdout with sys.stdout
* remove BaseCommand.config, alphabetise imports
* convert self.stdXXX leftovers
* convert last getRootCommand to config.Config
* convert last getExceptionMessage's to str
* change musicbrainz useragent to whipper
Added clearer info on required GStreamer-related packages.
I got a `no module named gst` while testing on Ubuntu 16.04 and figured it would be clearer to name the package to install to avoid that.