Commit Graph

18 Commits

Author SHA1 Message Date
Samantha Baldwin
d1ed80d62a argparse & logging (#92)
* 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
2016-12-20 23:11:30 +01:00
Thomas Vander Stichele
f93390d1bc pass config to program 2013-07-13 18:37:10 +02:00
Thomas Vander Stichele
ee99d833a7 rename our musicbrainzngs.py to mbngs.py
Helps Debian package which prefers to strip out our copy of
musicbrainzngs
2013-03-05 16:12:52 +01:00
Thomas Vander Stichele
dc0a3f9614 fix test after moving templates 2013-01-16 08:54:02 +01:00
Thomas Vander Stichele
1757a3eb7f fix tests after adding release type to templates 2013-01-13 22:45:53 +01:00
Thomas Vander Stichele
6adf75a832 pep8 fixes 2012-11-11 22:45:41 +00:00
Thomas Vander Stichele
e133b9da1b pep8 fixes 2012-11-11 22:30:17 +00:00
Thomas Vander Stichele
e90b24a36e * morituri/test/test_common_program.py:
Remove use of musicbrainz module.
2011-10-28 18:57:54 +00:00
Thomas Vander Stichele
ef69de48ba * morituri/common/Makefile.am:
* morituri/common/musicbrainz.py:
	* morituri/common/program.py:
	* morituri/test/test_common_program.py:
	* morituri/test/Makefile.am:
	* morituri/test/test_common_musicbrainz.py (added):
	* morituri/common/musicbrainz.py (added):
	  Split off musicbrainz-specific code.
2011-10-19 18:00:36 +00:00
Thomas Vander Stichele
b467132c01 assert we get metadata 2011-09-04 14:19:56 +00:00
Thomas Vander Stichele
367af25232 * TODO:
Add a note about das capital disc.
	* morituri/test/release.08397059-86c1-463b-8ed0-cd596dbd174f.xml:
	* morituri/test/release.93a6268c-ddf1-4898-bf93-fb862b1c5c5e.xml:
	  Add musicbrainz ws1 results for Das Capital and Ladyhawke.
	* morituri/test/test_common_program.py:
	  Fix typos.
	  Add tests for Ladyhawke and Das Capital duration and parsing.
	* morituri/test/test_image_table.py:
	  Fix according to new algorithm.
	* morituri/test/test_image_toc.py:
	  Get frame length for both cd's.
	* morituri/image/table.py:
	  Add getFrameLength method.  Fix up duration.
2011-08-14 14:19:50 +00:00
Thomas Vander Stichele
d43860bdfb * morituri/test/release.c7d919f4-3ea0-4c4b-a230-b3605f069440.xml:
Add release data for Bettie Serveert, Lamprey
	* morituri/test/test_common_program.py:
	  Add a test for parsing and getting the whole duration.
	* morituri/common/common.py:
	  Add a method to format time.
	* morituri/common/program.py:
	  Add duration to tracks and release metadatas.
	  When there are multiple matches, look up the closest in duration.
	  Make sure that multiple matches closest in duration contain same
	  artist and title.
	  Complain about the other ones.
	* morituri/image/table.py:
	  Add a method to calculate a duration from the table.
	* morituri/test/test_image_table.py:
	  Add a test for it.
2011-08-14 12:18:51 +00:00
Thomas Vander Stichele
c783e19605 * morituri/test/test_common_program.py:
Add a test for the template in #66.
2011-05-30 18:29:37 +00:00
Thomas Vander Stichele
02f5012453 * morituri/test/test_common_program.py:
Add tests for naming of disc output location.
2011-05-30 18:03:00 +00:00
Thomas Vander Stichele
b3888a7017 finally fix whitespace 2009-09-26 15:07:12 +00:00
Thomas Vander Stichele
f5f1811881 * morituri/common/program.py:
Fix getting AccurateRip results for albums with a HTOA.
	* morituri/test/Makefile.am:
	* morituri/test/test_common_program.py:
	* morituri/test/silentalarm.result.pickle (added):
	  Add testcase for it, Bloc Party's Silent Alarm.
2009-09-07 18:57:14 +00:00
Thomas Vander Stichele
1e063f08a7 * morituri/test/test_common_program.py:
* morituri/common/program.py:
	  Extract a common method to get textual representation of
	  AccurateRip results, and test it.
	* morituri/rip/cd.py:
	* morituri/rip/image.py:
	  Use the method.
2009-06-24 20:47:44 +00:00
Thomas Vander Stichele
0d3651ab12 * morituri/test/test_common_program.py (added):
* morituri/common/program.py:
	  Break verifyImage into two so we can test it.
	  Test it using an AccurateRip result for Luke Haines Is Dead
	  which had a wrongly ripped track 10.
2009-06-24 18:40:27 +00:00