Skip to content

Commit 236544d

Browse files
committed
Push whipper release v0.10.0
Fixes whipper-team#428. Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
1 parent 731453e commit 236544d

6 files changed

Lines changed: 206 additions & 153 deletions

File tree

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- python: "3.5"
2727
- python: "3.10-dev"
2828
include:
29-
- python: 3.8
29+
- python: 3.9
3030
env: FLAKE8=true
3131

3232
install:

CHANGELOG.md

Lines changed: 146 additions & 99 deletions
Large diffs are not rendered by default.

COVERAGE

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,54 @@
1-
Coverage.py 4.5.4 text report against whipper v0.9.0
1+
Coverage.py 5.5 text report against whipper v0.10.0
22

33
$ coverage run --branch --omit='whipper/test/*' --source=whipper -m unittest discover
44
$ coverage report -m
55

66
Name Stmts Miss Branch BrPart Cover Missing
77
-----------------------------------------------------------------------------
8-
whipper/__init__.py 15 5 4 2 63% 9-12, 16, 18, 15->16, 17->18
9-
whipper/__main__.py 7 7 2 0 0% 4-14
8+
whipper/__init__.py 15 5 4 2 63% 9-12, 16, 18
9+
whipper/__main__.py 6 6 2 0 0% 4-13
1010
whipper/command/__init__.py 0 0 0 0 100%
1111
whipper/command/accurip.py 41 41 18 0 0% 21-90
12-
whipper/command/basecommand.py 69 29 30 8 53% 70, 72, 76, 82-88, 98-102, 107-114, 127, 129, 133, 139, 142-145, 68->70, 71->72, 75->76, 80->82, 96->98, 106->107, 126->127, 128->129
13-
whipper/command/cd.py 227 189 60 0 13% 72-80, 85-196, 199, 212, 236-288, 295-321, 324-493
12+
whipper/command/basecommand.py 68 29 30 8 52% 72, 74, 78, 84-90, 100-104, 109-116, 129, 131, 135, 141, 144-147
13+
whipper/command/cd.py 272 231 88 0 11% 81-89, 94-209, 212, 225, 252-324, 331-366, 369-594
1414
whipper/command/drive.py 57 57 10 0 0% 21-107
15-
whipper/command/image.py 37 37 6 0 0% 21-75
16-
whipper/command/main.py 68 68 24 0 0% 4-116
17-
whipper/command/mblookup.py 29 3 8 2 86% 21-23, 35->37, 37->28
18-
whipper/command/offset.py 110 110 32 0 0% 21-219
15+
whipper/command/image.py 36 36 6 0 0% 21-73
16+
whipper/command/main.py 74 74 24 0 0% 4-133
17+
whipper/command/mblookup.py 39 3 14 2 91% 47-49, 63->72, 65->72
18+
whipper/command/offset.py 115 115 36 0 0% 21-225
1919
whipper/common/__init__.py 0 0 0 0 100%
20-
whipper/common/accurip.py 132 5 62 4 95% 118, 124, 133-135, 113->118, 119->124, 241->247, 251->257
21-
whipper/common/cache.py 100 48 34 5 44% 66-90, 96, 99, 107-110, 113-114, 138-142, 165-172, 196-201, 206-222, 95->96, 98->99, 136->146, 137->138, 164->165
20+
whipper/common/accurip.py 115 4 56 5 95% 79, 116, 125, 131, 223->229, 233->239
2221
whipper/common/checksum.py 26 14 2 0 43% 41-42, 45-46, 49-64
23-
whipper/common/common.py 150 28 38 6 78% 51-52, 119-120, 143-144, 162-169, 181, 274-279, 286-291, 328-332, 118->119, 131->134, 180->181, 190->197, 271->274, 326->334
24-
whipper/common/config.py 90 8 18 4 89% 104-105, 123-124, 130, 140, 142, 144, 129->130, 139->140, 141->142, 143->144
25-
whipper/common/directory.py 18 5 4 0 68% 42-48
26-
whipper/common/drive.py 31 20 8 0 33% 35-40, 44-50, 54-60, 64-71
27-
whipper/common/encode.py 44 23 2 0 46% 37-38, 41-42, 45-46, 53-56, 59-60, 63-64, 76-77, 80-81, 84-91
28-
whipper/common/mbngs.py 174 52 66 7 70% 38-39, 45, 93-99, 174-175, 180-181, 227, 233, 258-260, 269, 289-344, 159->158, 173->174, 179->180, 226->227, 232->233, 257->258, 266->269
29-
whipper/common/path.py 24 0 8 3 91% 42->45, 52->56, 60->65
30-
whipper/common/program.py 345 267 117 5 19% 85-87, 93-104, 113-147, 156-161, 164, 169-173, 218, 229-230, 232-236, 253-268, 276-386, 397-455, 463-471, 475-490, 501-540, 552-569, 572-590, 593-603, 606-614, 76->79, 215->218, 228->229, 231->232, 238->242
31-
whipper/common/renamer.py 102 2 16 1 97% 133, 156, 58->66
32-
whipper/common/task.py 77 15 14 2 79% 47-52, 86-87, 102, 115-116, 123, 129, 135, 141, 147, 84->86, 99->102
22+
whipper/common/common.py 150 28 38 6 78% 51-52, 116-117, 128->131, 140-141, 156-163, 176, 185->192, 269-274, 279-284, 321->329, 323-327
23+
whipper/common/config.py 89 6 18 4 91% 107, 117, 119, 121, 147-148
24+
whipper/common/directory.py 12 5 2 0 50% 33-39
25+
whipper/common/drive.py 37 24 8 0 33% 36-41, 45-51, 55-61, 65-72, 95-98
26+
whipper/common/encode.py 80 52 12 0 30% 38-39, 42-43, 46-47, 54-57, 60-61, 64-65, 77-78, 81-82, 85-92, 99-100, 103-104, 117-148, 155-160
27+
whipper/common/mbngs.py 212 52 86 7 76% 40-41, 47, 119-125, 187->186, 245-246, 251-252, 305-306, 313-314, 344-346, 355, 382-392, 412-450
28+
whipper/common/path.py 22 0 12 0 100%
29+
whipper/common/program.py 380 288 134 6 21% 82->85, 91-93, 101-112, 121-137, 145-147, 152-156, 212, 228-229, 231-233, 234->238, 243, 261-278, 299-411, 423-491, 500-508, 521-537, 541-556, 582-622, 635-658, 661-681, 684-694, 697-705
30+
whipper/common/renamer.py 103 2 16 1 97% 58->66, 127, 152
31+
whipper/common/task.py 77 15 14 2 79% 45-50, 84-85, 100, 113-114, 119, 123, 127, 131, 135
3332
whipper/extern/__init__.py 0 0 0 0 100%
34-
whipper/extern/asyncsub.py 112 55 58 11 46% 15-17, 32, 37-38, 47-84, 89-102, 115, 122, 134, 145, 151, 14->15, 35->37, 45->47, 110->113, 114->115, 121->122, 133->134, 139->141, 141->152, 144->145, 148->151
35-
whipper/extern/freedb.py 90 72 42 0 17% 46, 54, 74-153, 160-199
33+
whipper/extern/asyncsub.py 112 56 69 16 45% 15-17, 32, 37-38, 47-84, 89-102, 110->113, 115, 122, 125->123, 126->119, 134, 139->141, 141->152, 145-147, 151
34+
whipper/extern/freedb.py 90 72 42 0 17% 48, 56, 75-154, 171-210
3635
whipper/extern/task/__init__.py 0 0 0 0 100%
37-
whipper/extern/task/task.py 270 115 56 11 53% 53, 59, 78, 86, 152-154, 173-175, 183-199, 217-220, 241-242, 283-284, 287-293, 308-309, 317-319, 328-335, 341-358, 362, 365, 372-389, 400-401, 404-407, 411, 414, 429, 432-434, 450, 462, 508-513, 520-525, 534-542, 545-553, 556-557, 565, 570-572, 52->53, 56->59, 65->67, 151->152, 165->exit, 216->217, 230->232, 235->exit, 497->499, 531->534, 569->570
36+
whipper/extern/task/task.py 273 115 56 11 53% 52, 58, 64->66, 75, 83, 152-154, 166->exit, 174-176, 185-201, 217-220, 230->232, 235->exit, 241-242, 284-285, 288-294, 309-310, 318-320, 329-336, 340-357, 361, 364, 372-389, 402-403, 406-409, 413, 416, 432, 435-437, 455, 469, 502->504, 513-518, 525-530, 539-547, 550-558, 561-562, 570, 575-577
3837
whipper/image/__init__.py 0 0 0 0 100%
39-
whipper/image/cue.py 91 9 20 3 89% 98, 115-116, 131-133, 158, 186, 204, 97->98, 114->115, 130->131
40-
whipper/image/image.py 116 93 18 0 17% 49-57, 65-67, 74-107, 121-154, 157-173, 184-214
41-
whipper/image/table.py 394 18 120 16 93% 240, 499, 578, 663-664, 684-685, 694-697, 748, 794-795, 797-798, 842-843, 848-850, 180->183, 498->499, 532->536, 555->558, 577->578, 585->592, 683->684, 692->698, 693->694, 722->726, 726->721, 747->748, 793->794, 796->797, 841->842, 847->848
42-
whipper/image/toc.py 203 16 60 10 90% 133, 260-261, 277-280, 338-340, 362-364, 384, 408, 438, 129->133, 211->219, 259->260, 276->277, 286->291, 322->329, 337->338, 361->362, 371->375, 403->408
38+
whipper/image/cue.py 91 9 20 3 89% 96, 113-114, 129-131, 159, 188, 207
39+
whipper/image/image.py 123 100 20 0 16% 51-59, 68-70, 79-112, 124-167, 170-186, 195-225
40+
whipper/image/table.py 383 19 120 16 93% 195->198, 258, 276, 498, 531->535, 554->557, 577, 584->591, 673-674, 695-696, 703->709, 705-708, 736->740, 740->735, 762, 810-811, 813-814, 859-860, 865-867
41+
whipper/image/toc.py 203 16 60 10 90% 141, 222->230, 271-272, 288-291, 297->302, 333->340, 349-351, 373-375, 382->386, 398, 424, 457
4342
whipper/program/__init__.py 0 0 0 0 100%
44-
whipper/program/arc.py 3 0 0 0 100%
45-
whipper/program/cdparanoia.py 307 179 78 2 39% 48-50, 59-60, 124-126, 198-199, 239-253, 256-306, 309-347, 350-354, 357-393, 447-499, 504-551, 585-588, 591, 598, 606-611, 123->124, 597->598
46-
whipper/program/cdrdao.py 113 74 32 2 28% 33-58, 80-86, 90-105, 108-137, 140-144, 147-160, 167-170, 180-182, 186-188, 179->180, 185->186
47-
whipper/program/flac.py 9 5 0 0 44% 12-19
48-
whipper/program/sox.py 17 4 4 2 71% 18-19, 23-24, 17->18, 22->23
49-
whipper/program/soxi.py 28 2 4 1 91% 36, 49, 48->49
50-
whipper/program/utils.py 23 16 2 0 28% 12-17, 25-31, 42-47
43+
whipper/program/arc.py 3 1 0 0 67% 5
44+
whipper/program/cdparanoia.py 312 184 84 2 38% 45-47, 54-55, 119-121, 194-195, 233-247, 250-318, 321-359, 362-366, 369-405, 462-515, 520-567, 601-604, 607, 614, 622-627
45+
whipper/program/cdrdao.py 120 80 34 2 27% 35-64, 84-90, 94-109, 112-141, 144-148, 151-168, 173-176, 184-186, 190-192
46+
whipper/program/flac.py 9 5 0 0 44% 13-20
47+
whipper/program/sox.py 17 4 4 2 71% 18-19, 23-24
48+
whipper/program/soxi.py 28 2 4 1 91% 41, 54
49+
whipper/program/utils.py 23 16 2 0 28% 10-15, 21-27, 39-44
5150
whipper/result/__init__.py 0 0 0 0 100%
52-
whipper/result/logger.py 144 23 40 16 78% 68, 84-92, 112, 123, 128, 130, 134-135, 143, 202, 240, 244-245, 252-253, 67->68, 83->84, 111->112, 122->123, 127->128, 129->130, 133->134, 142->143, 201->202, 213->217, 217->222, 222->226, 226->230, 234->244, 236->240, 249->252
53-
whipper/result/result.py 57 13 6 0 70% 115-119, 137, 148-149, 158-165
51+
whipper/result/logger.py 150 26 44 18 76% 67, 83-91, 111, 122, 127, 129, 133-134, 142, 144, 202, 213->217, 217->222, 222->226, 226->230, 240, 244-245, 250-251, 256-257
52+
whipper/result/result.py 59 13 6 0 71% 118-122, 137, 148-149, 158-165
5453
-----------------------------------------------------------------------------
55-
TOTAL 3950 1727 1123 123 53%
54+
TOTAL 4022 1805 1195 124 52%

PKG-INFO

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Version: 0.10.0

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,16 @@ If you are building from a source tarball or checkout, you can choose to use whi
127127
Whipper relies on the following packages in order to run correctly and provide all the supported features:
128128

129129
- [cd-paranoia](https://github.com/rocky/libcdio-paranoia), for the actual ripping
130-
- To avoid bugs it's advised to use `cd-paranoia` versions ≥ **10.2+0.94+2-2**
131-
- The package named `libcdio-utils`, available on Debian and Ubuntu, is affected by a bug (except for Debian testing/sid where a separate `cd-paranoia` package has been added): it doesn't include the `cd-paranoia` binary (needed by whipper). For more details see: [#888053 (Debian)](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888053), [#889803 (Debian)](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889803) and [#1750264 (Ubuntu)](https://bugs.launchpad.net/ubuntu/+source/libcdio/+bug/1750264).
130+
- To avoid bugs it's advised to use `cd-paranoia` versions ≥ **10.2+0.94+2**
131+
- The package named `libcdio-utils`, available on certain Debian and Ubuntu versions, is affected by a bug: it doesn't include the `cd-paranoia` binary (needed by whipper). Only Debian bullseye (testing) / sid (unstable) and Ubuntu focal (20.04) and later versions have a separate `cd-paranoia` package where the binary is provided. For more details on this issue check the relevant bug reports: [#888053 (Debian)](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888053), [#889803 (Debian)](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889803) and [#1750264 (Ubuntu)](https://bugs.launchpad.net/ubuntu/+source/libcdio/+bug/1750264).
132132
- [cdrdao](http://cdrdao.sourceforge.net/), for session, TOC, pre-gap, and ISRC extraction
133133
- [GObject Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection), to provide GLib-2.0 methods used by `task.py`
134134
- [PyGObject](https://pypi.org/project/PyGObject/), required by `task.py`
135135
- [musicbrainzngs](https://pypi.org/project/musicbrainzngs/), for metadata lookup
136136
- [mutagen](https://pypi.python.org/pypi/mutagen), for tagging support
137137
- [setuptools](https://pypi.python.org/pypi/setuptools), for installation, plugins support
138138
- [pycdio](https://pypi.python.org/pypi/pycdio/), for drive identification (required for drive offset and caching behavior to be stored in the configuration file).
139-
- To avoid bugs it's advised to use the most recent `pycdio` version with the corresponding `libcdio` release or, if stuck to old pycdio versions, **0.20**/**0.21** with `libcdio`**0.90****0.94**. All other combinations won't probably work.
139+
- To avoid bugs it's advised to use the most recent `pycdio` version with the corresponding `libcdio` release or, if stuck on old pycdio versions, **0.20**/**0.21** with `libcdio`**0.90****0.94**. All other combinations won't probably work.
140140
- [discid](https://pypi.org/project/discid/), for calculating Musicbrainz disc id.
141141
- [ruamel.yaml](https://pypi.org/project/ruamel.yaml/), for generating well formed YAML report logfiles
142142
- [libsndfile](http://www.mega-nerd.com/libsndfile/), for reading wav files
@@ -183,6 +183,8 @@ Install whipper: `python3 setup.py install`
183183

184184
Note that, depending on the chosen installation path, this command may require elevated rights.
185185

186+
To build the man pages, follow the instructions in the relevant [README](https://github.com/whipper-team/whipper/blob/develop/man/README.md) which is located in the `man` subfolder.
187+
186188
## Usage
187189

188190
Whipper currently only has a command-line interface called `whipper` which is self-documenting: `whipper -h` gives you the basic instructions.
@@ -218,6 +220,8 @@ The simplest way to get started making accurate rips is:
218220

219221
If you omit the `-o` argument, whipper will try a long, popularity-sorted list of drive offsets.
220222

223+
Please note that whipper's offset find feature is quite primitive so it may not always achieve its task: in this case using the value listed in [AccurateRip's CD Drive Offset database](http://www.accuraterip.com/driveoffsets.htm) should be enough.
224+
221225
If you can not confirm your drive offset value but wish to set a default regardless, set `read_offset = insert-numeric-value-here` in `whipper.conf`.
222226

223227
Offsets confirmed with `whipper offset find` are automatically written to the configuration file.
@@ -312,6 +316,8 @@ On a default Debian/Ubuntu installation, the following paths are searched by whi
312316

313317
Where `X` stands for the minor version of the Python 3 release available on the system.
314318

319+
Please note that locally installed logger plugins won't be recognized when whipper has been installed through the official Docker image.
320+
315321
### Official logger plugins
316322

317323
I suggest using whipper's default logger unless you've got particular requirements.

whipper/command/offset.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@
3232

3333
# see http://www.accuraterip.com/driveoffsets.htm
3434
# and misc/offsets.py
35-
OFFSETS = ("+6, +667, +48, +102, +12, +30, +103, +618, +96, +594, "
36-
"+738, +98, -472, +116, +733, +696, +120, +691, +685, "
37-
"+99, +97, +600, +676, +690, +1292, +702, +686, -24, "
38-
"+704, +697, +572, +1182, +688, +91, -491, +145, +689, "
39-
"+564, +708, +86, +355, +79, -496, +679, -1164, 0, "
40-
"+1160, -436, +694, +684, +94, +1194, +106, +681, "
41-
"+117, +692, +943, +92, +680, +678, +682, +1268, +1279, "
42-
"+1473, -582, -54, +674, +687, +1272, +1263, +1508, "
43-
"+675, +534, +740, +122, -489, +974, +976, +1303, "
44-
"+108, +1130, +111, +739, +732, -589, -495, -494, "
45-
"+975, +961, +935, +87, +668, +234, +1776, +138, +1364, "
46-
"+1336, +1262, +1127")
35+
OFFSETS = ("+6, +667, +48, +102, +30, +12, +103, +618, +96, +738, "
36+
"+594, +98, -472, +733, +696, +116, +120, +691, +685, "
37+
"+99, +702, +97, +600, +676, +690, +1292, +686, +697, "
38+
"-24, +704, +572, +1182, +688, -491, +91, +145, +689, "
39+
"+86, +355, +708, +79, +564, -496, +679, -1164, 0, "
40+
"+1160, -436, +684, +694, +1194, +94, +106, +681, "
41+
"+678, +117, +692, +943, +92, +680, +682, +1268, +1279, "
42+
"+1473, -54, +1263, -582, +674, +687, +1272, +1508, "
43+
"-489, +740, +675, +534, +122, +974, +976, +1303, "
44+
"+111, +108, +1130, +975, +87, +739, +732, -589, -495, "
45+
"-494, -12, +961, +935, +699, +668, +234, +1776, +138, "
46+
"+1364, +1336, +1262, +1161, +1127")
4747

4848

4949
class Find(BaseCommand):

0 commit comments

Comments
 (0)