Commit Graph

516 Commits

Author SHA1 Message Date
Philipp Wolfer
e8a22de919 ASF: Improved error handling for unpack_image
Improvements to unpack_image taken from https://github.com/quodlibet/quodlibet/blob/master/quodlibet/quodlibet/formats/wma.py#L228
2019-10-17 19:02:30 +02:00
Philipp Wolfer
3352e7e86e PICARD-1643: Fixed saving performer tags to Vorbis and APEv2
Tags in the format of performer:instrument were not saved to Vorbis and APEv2 tags if instrument contained non-ASCII characters.
2019-10-16 18:43:36 +02:00
Philipp Wolfer
552051aeb9 PICARD-1260: Sort titles naturally
"Foo 10" should sort after "Foo 2"
2019-10-15 12:21:00 +02:00
Philipp Wolfer
fb20b00418 PICARD-1630: Always save FLAC picture blocks after Vorbis comments
If FLAC picture blocks are located before the Vorbis comments, Windows cannot read the tags. By ensuring the pictures are always located after the Vorbis comments the FLAC metadata will be visible and editable in Windows Explorer.
2019-10-14 11:38:03 +02:00
Wieland Hoffmann
47e0b4db0e test_regexfilter: Fix the test
* only repeats the preceding regular expression, but in the old test, there was
nothing preceding it. This showed up when tests were executed via `python
setup.py test`:

> .........................................E: 20:54:38,617 /home/wieland/dev/picard/picard/track.__init__:88: Failed to compile regex /*/: nothing to repeat at position 0
> Traceback (most recent call last):
>   File "/home/wieland/dev/picard/picard/track.py", line 86, in __init__
>     regex_search = re.compile(remain, re.IGNORECASE)
>   File "/usr/lib/python3.7/re.py", line 234, in compile
>     return _compile(pattern, flags)
>   File "/usr/lib/python3.7/re.py", line 286, in _compile
>     p = sre_compile.compile(pattern, flags)
>   File "/usr/lib/python3.7/sre_compile.py", line 764, in compile
>     p = sre_parse.parse(p, flags)
>   File "/usr/lib/python3.7/sre_parse.py", line 930, in parse
>     p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
>   File "/usr/lib/python3.7/sre_parse.py", line 426, in _parse_sub
>     not nested and not items))
>   File "/usr/lib/python3.7/sre_parse.py", line 651, in _parse
>     source.tell() - here + len(this))
> re.error: nothing to repeat at position 0

This was swallowed by py.test's behaviour to swallow stdout & stderr if no tests
fail.

Remove `*` from test_regexfilter and add an additional test with `/.*/` to
ensure this works.

The genre filter UI handled this correctly by showing the re.error in the UI.
2019-10-09 08:23:08 +02:00
Philipp Wolfer
b11b07160d Fixed up left-over Python 2 unicode string declarations 2019-09-26 10:58:54 +02:00
Philipp Wolfer
5fcbb89a0b Fixed typo occured -> occurred 2019-09-25 11:46:58 +02:00
Philipp Wolfer
05ffd72884 tests: use assertIn and assertNotIn 2019-09-13 22:09:36 +02:00
Philipp Wolfer
86835d7916 Merge pull request #1280 from phw/PICARD-456
PICARD-456: Do not remove empty standard directories
2019-09-13 21:06:04 +02:00
Philipp Wolfer
2c05e59f3a Fixed emptydir tests on macOS 2019-09-13 20:30:19 +02:00
Laurent Monin
be7b4d70bb assertEquals() was deprecated in favor of assertEqual() 2019-09-13 19:31:20 +02:00
Philipp Wolfer
8eb3fe3321 PICARD-456: Factored out empty dir handling into separate module 2019-09-13 17:44:04 +02:00
Philipp Wolfer
26d51865b4 PICARD-456: Do not remove empty standard directories
This protects standard directories like e.g. ~/Desktop being deleted if empty.
2019-09-13 16:25:51 +02:00
Philipp Wolfer
663d04f5cf Run full APE tests for AAC files 2019-09-13 09:37:45 +02:00
Philipp Wolfer
c6d091eb0a Merge pull request #1269 from phw/PICARD-1594-is_video_audio_scripting
PICARD-1594: Add $is_video() and $is_audio() scripting functions
2019-09-11 11:48:41 +02:00
Philipp Wolfer
d304e30dc2 PICARD-1594: Set ~video variable on file loading based on extension
This does not give a 100% coverage of detecting files which include video, but at least those files are supposed to be video files.
2019-09-11 08:49:00 +02:00
Philipp Wolfer
6aef76e76c PICARD-1586: Do not actively prevent the standard ReplayGain tags for Opus.
Those tags are still supported by some software, and it should be the decision of the ReplayGain tool and / or user which tags to write.
2019-09-11 00:34:35 +02:00
Philipp Wolfer
6ba10be54b PICARD-1594: Add $is_video() and $is_audio() scripting functions 2019-09-10 17:45:58 +02:00
Philipp Wolfer
103b7315e9 Test unsupported tag is really unsupported 2019-09-08 13:33:19 +02:00
Laurent Monin
3089dafe4c Merge pull request #1268 from zas/bytes2human_coverage
Increase test coverage of bytes2human
2019-09-08 10:57:46 +02:00
Laurent Monin
270a0cfe38 Increase test coverage of bytes2human 2019-09-08 10:28:40 +02:00
Philipp Wolfer
a66b66d3d4 Increased test coverage for scripting tests 2019-09-07 20:54:12 +02:00
Philipp Wolfer
1f19ee4b94 Increased test coverage of format tests 2019-09-07 17:46:23 +02:00
Philipp Wolfer
69716178eb PICARD-1591: Error tolerant loading of metadata_block_picture 2019-09-06 18:17:47 +02:00
Philipp Wolfer
feec4cb299 Do not use file as variable name 2019-09-06 10:47:07 +02:00
Philipp Wolfer
c07168f734 PICARD-1586: Preserve case for ReplayGain tags in ID3, MP4, ASF 2019-09-06 10:47:07 +02:00
Philipp Wolfer
a7faed5cca PICARD-1586: Test proper deletion of case insensitive tags 2019-09-06 10:47:07 +02:00
Philipp Wolfer
9d0e1232c6 PICARD-1586: ReplayGain tags case-insensitive for ASF and MP4 2019-09-06 10:47:07 +02:00
Philipp Wolfer
ec777be2cc PICARD-1586: ReplayGain tags case-insensitive for ID3 2019-09-06 10:47:07 +02:00
Philipp Wolfer
a4990746a7 PICARD-1586: Support R128_* tags only for Opus
Test other formats for not supporting it.
2019-09-06 10:47:07 +02:00
Philipp Wolfer
9ab4aefc49 PICARD-1586: Support Opus R128_*_GAIN tags 2019-09-06 10:47:07 +02:00
Philipp Wolfer
5b53af16df PICARD-1586: Added basic tag mapping for ReplayGain tags 2019-09-06 10:47:07 +02:00
Philipp Wolfer
0860529159 Activated inactive tests 2019-09-04 15:20:52 +02:00
Philipp Wolfer
39fe6a9236 Merge pull request #1231 from phw/PICARD-1488-improved-media-player-controls
PICARD-1488: Improved media player controls
2019-08-18 08:16:36 +02:00
Philipp Wolfer
cdaf812587 PICARD-1573: Metadata.apply_func() must handle tags getting removed 2019-08-14 18:59:55 +02:00
Philipp Wolfer
2e0afbae4d PICARD-1488: Display player position 0 as 0:00 instead of ?:?? 2019-08-13 17:42:34 +02:00
Philipp Wolfer
157d3cfc97 Fixed file naming tests on Windows 2019-08-07 08:47:22 +02:00
Philipp Wolfer
9d67a45bde Added tests for File.make_filename 2019-08-05 19:32:47 +02:00
Philipp Wolfer
ed937fab90 PICARD-1564: AcoustId metadata parsing must not set "track" field 2019-08-05 17:54:48 +02:00
Philipp Wolfer
d34cf8147b PICARD-1556: Added line breaks to file naming script for readability 2019-08-05 15:18:45 +02:00
Philipp Wolfer
84aedf1421 PICARD-1556: Ignore empty track numbers in default naming script 2019-08-05 15:16:57 +02:00
Philipp Wolfer
f4d27d1fcc PICARD-1561: On macOS 10.14 test preserve time only with second accuracy 2019-07-23 10:08:26 +02:00
Laurent Monin
cf4ac13d9a Add few tests for similarity2() function 2019-07-02 14:41:06 +02:00
Laurent Monin
64c3bb8795 No need to use u"" syntax anymore 2019-07-02 14:40:27 +02:00
Laurent Monin
2306244e42 Add coding magic comment
Even though Python 3 defaults to utf8, it is still useful for editors
2019-07-02 14:39:58 +02:00
Laurent Monin
38f78c4069 unittest.assertEquals() is deprecated in favor of assertEqual() 2019-06-24 19:07:18 +02:00
Philipp Wolfer
40f12e5eb2 Simplified metadata comparisson in tests 2019-06-24 14:59:22 +02:00
Philipp Wolfer
604e542d10 Check if images get copied in test for Metadata.update() 2019-06-23 11:39:38 +02:00
Philipp Wolfer
0c57969735 PICARD-1529: Allow copying metadata without images 2019-06-23 11:35:18 +02:00
Philipp Wolfer
0f1c4999fa PICARD-1506: Provide empty config for tests
If there is no empty config file Qt seems to initialize the specified config file path with a copy of the application's config.
2019-06-03 14:12:07 +02:00