Commit Graph

944 Commits

Author SHA1 Message Date
Philipp Wolfer
8b8593b546 PICARD-2414: Added some additional tests for tracknum_and_title_from_filename
Test some more real world examples and ignore cases like UB40 where a no. follows directly on alphanumeric characters.
2022-02-11 11:01:33 +01:00
Laurent Monin
2f6479747d Update headers 2022-02-07 09:41:57 +01:00
Marcin Szalowicz
fa2e443021 Add option to fix seektable for flac files
This is to fix problem with Kodi which is unable to load files
that have empty SeekTable, so by default a single SeekPoint is added.
An error message is logged if the file has no samples.
2022-02-05 17:51:00 +01:00
Laurent Monin
203933ff9f Add few tests for translate_artist_names_script_exception 2022-02-03 10:31:54 +01:00
Philipp Wolfer
9e740c11a4 Omit standard ports in URLs constructed by build_qurl 2022-01-31 07:49:21 +01:00
Philipp Wolfer
803055a9f9 PICARD-2410: Implement parsing Whipper ripping log files 2022-01-30 15:34:17 +01:00
Philipp Wolfer
3ae6706b05 Moved calculate_mb_toc_numbers to picard.disc.utils 2022-01-30 15:34:17 +01:00
Philipp Wolfer
eeed3adb4d Test all methods in FileLookup 2022-01-28 08:16:45 +01:00
Philipp Wolfer
d89c14d3ea Support all MB entity URLs in FileLookup 2022-01-28 08:16:44 +01:00
Philipp Wolfer
97a272bd3a Added tests for FileLookup.mbid_lookup 2022-01-28 08:16:44 +01:00
Philipp Wolfer
17b8c9b6ac PICARD-2409: Search for cdtoc URL triggers CD lookup 2022-01-27 09:21:26 +01:00
Laurent Monin
0761263c4d Use tuples instead of lists, since those aren't to be modified 2022-01-25 12:53:56 +01:00
Philipp Wolfer
6f9c70951d Moved old disc module and eaclog to disc package
Avoids name conflict and confusion of picard.discid with the discid pip package.
2022-01-25 08:38:15 +01:00
Philipp Wolfer
97d01b99df PICARD-1455: Allow disc lookup from EAC / XLD log file 2022-01-25 08:38:14 +01:00
Laurent Monin
416f09c451 Merge pull request #2046 from phw/PICARD-2292-recording-mixed-instrumental-works
PICARD-2292:  Fix setting "no lyrics" for recording with mixed instrumental works
2022-01-24 18:21:47 +01:00
Philipp Wolfer
e119ef5d93 Convert AcoustID Submission.args to property 2022-01-23 18:13:10 +01:00
Philipp Wolfer
59ffd90f88 PICARD-2292: Fix detecting instrumnetal for multi-work recordings
A recording with multiple works should only get the language set to "no lyrics" if all performances are instrumental
2022-01-23 18:04:18 +01:00
Philipp Wolfer
62da04f831 PICARD-2396: Adjust AcoustID payload size calculation
Needs to be adjusted to accomodate the potential larger payload if metadata gets submitted
2022-01-22 17:10:12 +01:00
Philipp Wolfer
1464838fc0 PICARD-2396: Add AcoustID Submission.get_args 2022-01-22 17:10:12 +01:00
Philipp Wolfer
574e7a90c1 PICARD-2396: Submit metadata to AcoustID on duration mismatch
If a file's duration does clearly not match the MB recording duration allow AcoustID submission anyway. But instead of submitting the recording MBID submit only the metadata.

This prevents clear mismatches while still allowing fingerprint submission. The submitted metadata can give a hint on the recording.
2022-01-22 17:10:11 +01:00
Philipp Wolfer
11d71bcc8c PICARD-2396: Don't submit AcoustID on large duration difference
If the difference between the file's and the recording's duration exceeds a threshold, do not submit this pair to AcoustID.
2022-01-20 22:55:15 +01:00
Philipp Wolfer
5b58e15cfc Merge pull request #2029 from rdswift/allow_empty_strings_in_multi-value
PICARD-2392: Allow empty strings in multi-value variables
2022-01-20 08:18:43 +01:00
Bob Swift
b804208123 Make 'end' argument optional for $substr() function 2022-01-20 08:18:16 +01:00
Philipp Wolfer
0983c9531d Set log level in tests to DEBUG
This allows pytest to capture the log output and display it in context of the test.d
2022-01-19 08:11:33 +01:00
Philipp Wolfer
0bf99949c4 Merge pull request #2003 from phw/PICARD-2368-compare-medium-track-count
PICARD-2368: When comparing metadata to a release consider the actual medium track count
2022-01-16 11:32:15 +01:00
Philipp Wolfer
c5662606cc PICARD-2332: Use PyQt5 scoped enums
This will ease the transition to Qt6
2022-01-14 18:28:01 +01:00
Bob Swift
975dfdffa9 PICARD-2382: Add option to keep duplicates in $copymerge() function. (#2020) 2022-01-14 07:58:35 +01:00
Bob Swift
c1cbb17a76 PICARD-2349: Standardize on "Standalone recordings" rather than "Non-album tracks" 2022-01-14 07:55:49 +01:00
Bob Swift
d0f512f79f Additional tests to ensure that changes don't break other functions 2022-01-07 09:30:58 -07:00
Bob Swift
49c6c0f2ec Remove underscore from clean_multi for consistency with other functions 2022-01-07 08:56:45 -07:00
Bob Swift
63fa1633f1 Allow empty strings in multi-value variables
- Keep empty strings in multi-value lists
- Add scripting function to remove empty strings from multi-value
- Update tests
2022-01-06 10:43:47 -07:00
Laurent Monin
53ec0e066f Add test for = encoding
Suggested by phw
2022-01-06 16:07:50 +01:00
Laurent Monin
8b787482ff _query_data(): Use urllib.parse.urlencode() instead of QUrl/QUrlQuery
Note: previously spaces weren't encoded, with this change they are (as plus) which is more conform to expected format for application/x-www-form-urlencoded
Actually this was a bug in previous version, as addQueryItem() didn't encode spaces as they should
See https://doc.qt.io/qt-5/qurlquery.html#addQueryItem
"This method does not treat spaces (ASCII 0x20) and plus ("+") signs as the same, like HTML forms do. If you need spaces to be represented as plus signs, use actual plus signs."

It wasn't an issue because none of passed data should contain spaces in our current code
2022-01-06 14:41:09 +01:00
Laurent Monin
d1de2a7208 _query_data(): skip empty key and add a test 2022-01-06 14:16:11 +01:00
Laurent Monin
820551d513 Move FILE_INFO_TAGS to File class and reduce code redundancy
- add a test for File._copy_file_info_tags()
2022-01-04 12:00:19 +01:00
Philipp Wolfer
1e9c61fcfb Ensure rating submission XML is valid
Properly encode provided data
2022-01-02 17:29:34 +01:00
Laurent Monin
728b110bac Get rid of _static_encode_acoustid_args()
- modify _encode_acoustid_args() accordingly
- modify tests to reflect changes
2021-12-28 19:23:04 +01:00
Laurent Monin
c6044fbdf5 Rework AcoustIdAPIHelper and add few tests 2021-12-28 15:10:00 +01:00
Laurent Monin
6ac0501f55 Simplify & test MBAPIHelper._collection_request()
- add batch size as parameter
- use range() step and do not modify passed releases argument
- add test
2021-12-27 17:33:46 +01:00
Laurent Monin
f14922ccc4 Move part of code to _xml_ratings() and test it 2021-12-27 11:50:52 +01:00
Philipp Wolfer
7b9bec2dd8 Fix set_genre_inc_params accepting config object 2021-12-26 12:32:42 +01:00
Laurent Monin
416a55dbc0 Use set+tuple for inc, and tuple for path_list, instead of lists 2021-12-26 12:20:17 +01:00
Bob Swift
9d5597f9ff Make $slice() 'end' parameter optional 2021-12-22 12:23:27 +01:00
Philipp Wolfer
a25a6fd0aa Fixed headers with fix-header.py 2021-12-21 08:38:20 +01:00
Philipp Wolfer
e32e116d5e PICARD-2368: Use totalalbumtracks for cluster matching 2021-12-18 17:26:57 +01:00
Philipp Wolfer
8ed8075cea PICARD-2368: When comparing metadata to a release consider the actual medium track count
tracktotal in a file is supposed to have the total number of tracks on the specific medium. Comparing to the total tracks of a release across all medium hence gives wrong results.
2021-12-18 17:26:56 +01:00
Philipp Wolfer
d1a7063c56 PICARD-2361: Fix clustering using removed files 2021-12-14 12:29:37 +01:00
Laurent Monin
d64c8c859b Merge pull request #1983 from zas/cleanup3
Add more tests and optimize similarity2()
2021-12-04 20:12:40 +01:00
Philipp Wolfer
a4e5c7ed42 PICARD-2346: Fix ID3v2.3 files showing changes with identical tags
Fixes a regression introduced in a5fcde to optimize display of format specific metadata
2021-12-04 17:05:31 +01:00
Laurent Monin
0765da5d7e similarity2(): test few more cases 2021-12-04 16:21:41 +01:00