diff --git a/CHANGELOG.md b/CHANGELOG.md index 191bb8c..7b1e168 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,43 @@ ## [Unreleased](https://github.com/JoeLametta/whipper/tree/HEAD) -[Full Changelog](https://github.com/JoeLametta/whipper/compare/v0.6.0...HEAD) +[Full Changelog](https://github.com/JoeLametta/whipper/compare/v0.7.0...HEAD) + +## [v0.7.0](https://github.com/JoeLametta/whipper/tree/v0.7.0) (2018-04-09) + +[Full Changelog](https://github.com/JoeLametta/whipper/compare/v0.6.0...v0.7.0) + +**Implemented enhancements:** + +- Simple message while reading TOC [\#257](https://github.com/JoeLametta/whipper/issues/257) +- Various ripping issues [\#179](https://github.com/JoeLametta/whipper/issues/179) +- Small readme cleanups [\#250](https://github.com/JoeLametta/whipper/pull/250) ([RecursiveForest](https://github.com/RecursiveForest)) +- Remove debug commands, add mblookup command [\#249](https://github.com/JoeLametta/whipper/pull/249) ([RecursiveForest](https://github.com/RecursiveForest)) +- remove -T/--toc-pickle [\#245](https://github.com/JoeLametta/whipper/pull/245) ([RecursiveForest](https://github.com/RecursiveForest)) +- credit four major developers by line count [\#243](https://github.com/JoeLametta/whipper/pull/243) ([RecursiveForest](https://github.com/RecursiveForest)) +- Removed reference to unused "profile = flac" config option \(issue \#99\) [\#231](https://github.com/JoeLametta/whipper/pull/231) ([calumchisholm](https://github.com/calumchisholm)) + +**Fixed bugs:** + +- ImportError: libcdio.so.16: cannot open shared object file: No such file or directory [\#229](https://github.com/JoeLametta/whipper/issues/229) +- whipper offset find exception [\#208](https://github.com/JoeLametta/whipper/issues/208) +- cd rip is not able to rip the last track [\#203](https://github.com/JoeLametta/whipper/issues/203) +- whipper not picking up all settings in whipper.conf [\#99](https://github.com/JoeLametta/whipper/issues/99) +- fix CI build error with latest pycdio [\#233](https://github.com/JoeLametta/whipper/pull/233) ([thomas-mc-work](https://github.com/thomas-mc-work)) + +**Closed issues:** + +- Make a 0.6.0 release [\#219](https://github.com/JoeLametta/whipper/issues/219) +- CD-ROM powers off during rip command. [\#189](https://github.com/JoeLametta/whipper/issues/189) +- Remove connection to parent fork. [\#79](https://github.com/JoeLametta/whipper/issues/79) +- GUI frontend for whipper [\#40](https://github.com/JoeLametta/whipper/issues/40) + +**Merged pull requests:** + +- Remove reference to Copr repository [\#248](https://github.com/JoeLametta/whipper/pull/248) ([mruszczyk](https://github.com/mruszczyk)) +- Revert "Convert docstrings to reStructuredText" [\#246](https://github.com/JoeLametta/whipper/pull/246) ([RecursiveForest](https://github.com/RecursiveForest)) +- remove radon reports [\#242](https://github.com/JoeLametta/whipper/pull/242) ([RecursiveForest](https://github.com/RecursiveForest)) +- read command parameters from config sections [\#240](https://github.com/JoeLametta/whipper/pull/240) ([RecursiveForest](https://github.com/RecursiveForest)) ## [v0.6.0](https://github.com/JoeLametta/whipper/tree/v0.6.0) (2018-02-02) @@ -228,4 +264,3 @@ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* and hand edited by [JoeLametta](https://github.com/JoeLametta). - diff --git a/COVERAGE b/COVERAGE index b1af8a7..964d5e0 100644 --- a/COVERAGE +++ b/COVERAGE @@ -1,4 +1,4 @@ -Coverage.py 4.4.2 text report against whipper v0.6.0 +Coverage.py 4.5.1 text report against whipper v0.6.0 $ coverage run --branch --omit='whipper/test/*' --source=whipper -m unittest discover $ coverage report -m @@ -9,46 +9,46 @@ whipper/__init__.py 10 2 4 2 71% 9, 11, 8-> whipper/__main__.py 7 7 2 0 0% 4-14 whipper/command/__init__.py 0 0 0 0 100% whipper/command/accurip.py 44 44 18 0 0% 21-96 -whipper/command/basecommand.py 58 42 22 0 20% 54-99, 106-115, 118, 121, 124, 127-130 -whipper/command/cd.py 221 181 56 0 14% 75-87, 92-193, 196, 208, 231-285, 292-317, 320-497 -whipper/command/debug.py 167 167 24 0 0% 21-293 +whipper/command/basecommand.py 69 53 30 0 16% 56-114, 121-130, 133, 136, 139, 142-145 +whipper/command/cd.py 221 181 56 0 14% 74-82, 87-187, 190, 202, 225-279, 286-311, 314-491 whipper/command/drive.py 62 62 12 0 0% 21-122 whipper/command/image.py 77 77 14 0 0% 21-151 -whipper/command/main.py 66 66 20 0 0% 4-113 +whipper/command/main.py 65 65 20 0 0% 4-109 +whipper/command/mblookup.py 28 28 8 0 0% 1-41 whipper/command/offset.py 113 113 32 0 0% 21-229 whipper/common/__init__.py 0 0 0 0 100% -whipper/common/accurip.py 133 5 56 5 95% 128, 139, 148-150, 121->128, 132->139, 165->168, 276->282, 285->291 -whipper/common/cache.py 105 50 34 6 44% 70-94, 100, 103, 111-116, 119-120, 134, 148-153, 181-188, 210-215, 220-237, 99->100, 102->103, 133->134, 146->157, 147->148, 180->181 +whipper/common/accurip.py 133 5 56 5 95% 123, 134, 143-145, 116->123, 127->134, 160->163, 252->258, 261->267 +whipper/common/cache.py 105 50 34 6 44% 66-90, 96, 99, 107-112, 115-116, 132, 144-149, 172-179, 203-208, 213-230, 95->96, 98->99, 131->132, 142->153, 143->144, 171->172 whipper/common/checksum.py 26 14 2 0 43% 41-42, 45-46, 49-64 -whipper/common/common.py 133 15 32 6 86% 49-50, 112-113, 136-137, 162, 259-265, 302-306, 111->112, 124->127, 161->162, 171->178, 255->259, 300->308 -whipper/common/config.py 92 8 18 4 89% 114-115, 138-139, 145, 156, 158, 160, 144->145, 155->156, 157->158, 159->160 +whipper/common/common.py 133 15 32 6 86% 49-50, 117-118, 141-142, 165, 259-265, 301-305, 116->117, 129->132, 164->165, 174->181, 255->259, 299->307 +whipper/common/config.py 92 8 18 4 89% 105-106, 124-125, 131, 142, 144, 146, 130->131, 141->142, 143->144, 145->146 whipper/common/directory.py 21 8 10 2 55% 29, 39, 44-51, 28->29, 38->39 whipper/common/drive.py 31 20 6 0 35% 35-40, 44-50, 54-60, 64-71 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 -whipper/common/mbngs.py 157 52 58 7 66% 35-36, 42, 110-116, 182-183, 188-189, 233, 236, 239, 262-265, 274, 297-349, 181->182, 187->188, 232->233, 235->236, 238->239, 261->262, 271->274 -whipper/common/path.py 24 0 8 3 91% 44->47, 54->59, 64->69 -whipper/common/program.py 353 272 112 5 20% 94-96, 112-127, 145-177, 190-195, 198, 202-206, 262, 273-274, 276-280, 298-312, 330-456, 466-516, 523-531, 534-550, 574-614, 617-619, 636-653, 656-674, 677-687, 690-698, 86->89, 259->262, 272->273, 275->276, 282->286 -whipper/common/renamer.py 102 2 16 1 97% 128, 152, 60->68 -whipper/common/task.py 77 19 14 2 75% 45-50, 85-86, 89-92, 100, 114-115, 124, 132, 136, 140, 144, 83->85, 97->100 +whipper/common/mbngs.py 159 53 58 7 66% 38-39, 45, 90-96, 158-159, 164-165, 209, 212, 215, 238-241, 250, 270-324, 157->158, 163->164, 208->209, 211->212, 214->215, 237->238, 247->250 +whipper/common/path.py 24 0 8 3 91% 42->45, 52->57, 62->67 +whipper/common/program.py 353 272 112 5 20% 88-90, 96-111, 119-151, 160-165, 168, 172-176, 221, 232-233, 235-239, 255-269, 277-403, 414-464, 472-480, 483-499, 510-550, 553-555, 567-584, 587-605, 608-618, 621-629, 80->83, 218->221, 231->232, 234->235, 241->245 +whipper/common/renamer.py 102 2 16 1 97% 135, 158, 60->68 +whipper/common/task.py 77 19 14 2 75% 47-52, 87-88, 91-94, 102, 116-117, 124, 130, 136, 142, 148, 85->87, 99->102 whipper/extern/__init__.py 0 0 0 0 100% whipper/extern/asyncsub.py 130 71 66 12 40% 15-17, 32, 37-38, 47-84, 89-102, 115, 122, 134, 145, 151, 156-160, 164-176, 14->15, 35->37, 45->47, 110->113, 114->115, 121->122, 133->134, 139->141, 141->152, 144->145, 148->151, 163->164 whipper/extern/task/__init__.py 0 0 0 0 100% -whipper/extern/task/task.py 279 120 54 11 53% 55, 59, 84, 87, 90, 161-163, 184-186, 197-213, 233-236, 258-259, 276, 286, 304, 310-311, 314-320, 334-335, 343-345, 356-363, 367-383, 387, 390, 400-417, 429-430, 433-436, 440, 443, 458, 461-463, 480, 497, 540-545, 554-559, 570-578, 581-589, 592-593, 601, 606-608, 54->55, 58->59, 67->69, 160->161, 177->exit, 232->233, 248->250, 253->exit, 530->532, 567->570, 605->606 +whipper/extern/task/task.py 275 117 54 11 53% 50, 54, 81, 84, 87, 153-155, 173-175, 183-199, 217-220, 240-241, 282-283, 286-292, 307-308, 316-318, 327-334, 340-356, 360, 363, 370-387, 398-399, 402-405, 409, 412, 427, 430-432, 448, 460, 505-510, 519-524, 535-543, 546-554, 557-558, 566, 571-573, 49->50, 53->54, 62->64, 152->153, 166->exit, 216->217, 230->232, 235->exit, 495->497, 532->535, 570->571 whipper/image/__init__.py 0 0 0 0 100% -whipper/image/cue.py 91 9 20 3 89% 105, 122-123, 138-140, 167, 195, 214, 104->105, 121->122, 137->138 -whipper/image/image.py 116 94 18 0 16% 51-59, 67-69, 79-112, 136-168, 171-187, 204-235 -whipper/image/table.py 399 22 114 16 93% 258, 371-372, 527, 606, 700-701, 721-722, 731-734, 738-739, 788, 835-836, 838-839, 882-883, 888-890, 201->204, 526->527, 560->564, 583->586, 605->606, 613->620, 720->721, 729->735, 730->731, 761->766, 766->760, 787->788, 834->835, 837->838, 881->882, 887->888 -whipper/image/toc.py 203 15 60 10 90% 146, 284-285, 301-304, 362-364, 386-388, 410, 437, 142->146, 235->243, 283->284, 300->301, 310->315, 346->353, 361->362, 385->386, 395->399, 432->437 +whipper/image/cue.py 91 9 20 3 89% 99, 116-117, 132-134, 159, 187, 205, 98->99, 115->116, 131->132 +whipper/image/image.py 117 94 18 0 17% 49-57, 65-67, 74-107, 121-153, 156-172, 183-214 +whipper/image/table.py 402 22 114 16 93% 238, 350-351, 503, 583, 669-670, 690-691, 700-703, 707-708, 755, 801-802, 804-805, 849-850, 855-857, 181->184, 502->503, 536->540, 560->563, 582->583, 590->597, 689->690, 698->704, 699->700, 728->733, 733->727, 754->755, 800->801, 803->804, 848->849, 854->855 +whipper/image/toc.py 203 15 60 10 90% 134, 262-263, 279-282, 340-342, 364-366, 386, 410, 130->134, 213->221, 261->262, 278->279, 288->293, 324->331, 339->340, 363->364, 373->377, 405->410 whipper/program/__init__.py 0 0 0 0 100% whipper/program/arc.py 38 15 12 4 58% 26-28, 32, 37-43, 52-58, 22->26, 31->32, 36->37, 45->52 -whipper/program/cdparanoia.py 315 185 86 3 39% 45-47, 54-55, 131-133, 170-173, 209-210, 256-270, 273-325, 328-366, 369-373, 376-412, 472-524, 529-574, 607-610, 613, 620, 626, 631-636, 130->131, 619->620, 623->626 -whipper/program/cdrdao.py 51 29 10 2 39% 31-53, 64-70, 82-84, 88-90, 102, 113, 81->82, 87->88 -whipper/program/flac.py 9 5 0 0 44% 18-25 -whipper/program/sox.py 17 4 4 2 71% 19-20, 24-25, 18->19, 23->24 -whipper/program/soxi.py 28 2 2 1 90% 46, 59, 58->59 -whipper/program/utils.py 16 10 2 0 33% 13-14, 23-24, 37-42 +whipper/program/cdparanoia.py 315 185 86 3 39% 48-50, 59-60, 124-126, 163-166, 199-200, 241-255, 258-310, 313-351, 354-358, 361-397, 452-504, 509-554, 587-590, 593, 600, 606, 611-616, 123->124, 599->600, 603->606 +whipper/program/cdrdao.py 51 29 10 2 39% 25-47, 54-60, 70-72, 76-78, 86, 93, 69->70, 75->76 +whipper/program/flac.py 9 5 0 0 44% 12-19 +whipper/program/sox.py 17 4 4 2 71% 18-19, 23-24, 17->18, 22->23 +whipper/program/soxi.py 28 2 2 1 90% 36, 49, 48->49 +whipper/program/utils.py 16 10 2 0 33% 11-12, 19-20, 30-35 whipper/result/__init__.py 0 0 0 0 100% -whipper/result/logger.py 142 142 48 0 0% 1-256 -whipper/result/result.py 56 13 6 0 69% 116-120, 135, 145-146, 151-158 +whipper/result/logger.py 142 142 48 0 0% 1-235 +whipper/result/result.py 56 13 6 0 69% 112-116, 134, 144-145, 154-161 ----------------------------------------------------------------------------- -TOTAL 4013 1985 1074 107 48% +TOTAL 3886 1854 1066 107 49% diff --git a/whipper/__init__.py b/whipper/__init__.py index 9bff026..21f733f 100644 --- a/whipper/__init__.py +++ b/whipper/__init__.py @@ -2,7 +2,7 @@ import logging import os import sys -__version__ = '0.6.0' +__version__ = '0.7.0' level = logging.WARNING if 'WHIPPER_DEBUG' in os.environ: diff --git a/whipper/command/offset.py b/whipper/command/offset.py index 77585ee..04de5a4 100644 --- a/whipper/command/offset.py +++ b/whipper/command/offset.py @@ -36,17 +36,18 @@ logger = logging.getLogger(__name__) # see http://www.accuraterip.com/driveoffsets.htm # and misc/offsets.py -OFFSETS = "+6, +48, +102, +667, +12, +30, +618, +594, +738, -472, " + \ - "+98, +116, +96, +733, +120, +691, +685, +97, +600, " + \ - "+690, +1292, +99, +676, +686, +1182, -24, +704, +572, " + \ - "+688, +91, +696, +103, -491, +689, +145, +708, +697, " + \ - "+564, +86, +679, +355, -496, -1164, +1160, +694, 0, " + \ - "-436, +79, +94, +684, +681, +106, +692, +943, +1194, " + \ - "+92, +117, +680, +682, +1268, +678, -582, +1473, +1279, " + \ - "-54, +1508, +740, +1272, +534, +976, +687, +675, +1303, " + \ - "+674, +1263, +108, +974, +122, +111, -489, +772, +732, " + \ - "-495, -494, +975, +935, +87, +668, +1776, +1364, +1336, " + \ - "+1127" +OFFSETS = ("+6, +667, +48, +102, +12, +30, +103, +618, +96, +594, " + "+738, +98, -472, +116, +733, +696, +120, +691, +685, " + "+99, +97, +600, +676, +690, +1292, +702, +686, -24, " + "+704, +697, +572, +1182, +688, +91, -491, +145, +689, " + "+564, +708, +86, +355, +79, -496, +679, -1164, 0, " + "+1160, -436, +694, +684, +94, +1194, +106, +681, +117, " + "+692, +943, +92, +680, +678, +682, +1268, +1279, +1473, " + "-582, -54, +674, +687, +1272, +1263, +1508, +675, " + "+534, +740, +122, -489, +974, +976, +1303, +108, +1130, " + "+111, +739, +732, -589, -495, -494, +975, +961, +935, " + "+87, +668, +234, +1776, +138, +1364, +1336, +1262, " + "+1127") class Find(BaseCommand):