Commit Graph

1124 Commits

Author SHA1 Message Date
Philipp Wolfer
221c4990e1 PICARD-2584: If AcoustID provides not metadata load the MB recording
This resolves problem with AcoustID scan finding no matches or only
standalone-recordings.
2024-01-09 17:57:53 +01:00
Philipp Wolfer
7992d82f79 PICARD-2814: Fix exception on loading embedded cover with invalid ID3 type 2024-01-08 13:23:58 +01:00
Philipp Wolfer
2bff23937a PICARD-2805: Handle None length in Metadata.length_score 2023-12-22 10:36:15 +01:00
Philipp Wolfer
44bfdb80ce PICARD-2792: Recordings without releases must score lower than with
Apply a weighted scoring based on "Other" release type for recordings
without releases. Otherwise "no release" always gives full score, while
matching against a releases usually always gives some deduction to the
matching score.
2023-12-20 00:26:08 +01:00
Philipp Wolfer
e671c0ec7a PICARD-2792: Ignore AcoustID sources for recordings without metadata
Avoids AcoustID recordings without linked metadata but high source count
getting a disproportional high score.
2023-12-20 00:25:57 +01:00
Philipp Wolfer
35f8fd01e1 Additional test for Metadata.compare_to_track 2023-10-28 00:50:19 +02:00
Philipp Wolfer
618c4f2104 PICARD-2780: Fix checking "video" flag in track comparison
The MB API can return "null" for the video flag of a recording. This was
not considered False in the check.
2023-10-28 00:50:19 +02:00
Philipp Wolfer
1e33a4c357 PICARD-2781: Fix matching release type score for releases without type
No type should use the "Other" type weight instead of leading to zero
match score.
2023-10-28 00:50:19 +02:00
Philipp Wolfer
eb237c1e01 PICARD-2774: Do not fail loading files with invalid ID3 image types 2023-10-10 16:18:53 +02:00
Laurent Monin
dc851395e0 Merge pull request #2333 from zas/get_qt_enum_generator
Make `get_qt_enum()` a generator and extend tests
2023-10-02 18:09:47 +02:00
Laurent Monin
cf3013a353 Make get_qt_enum() a generator and extend tests 2023-10-02 14:02:10 +02:00
Philipp Wolfer
1506462940 Extend asciipunct tests to check for conversion of DOT LEADER 2023-10-02 11:02:49 +02:00
Philipp Wolfer
c965eff013 Additional tests for win_prefix_longpath 2023-09-26 15:13:10 +02:00
Philipp Wolfer
b7d9809506 Hard coded fake "token" in unit test is not a security issue 2023-09-22 07:30:22 +02:00
Bob Swift
bcb98d6665 Add check for missing profile_id keys 2023-09-22 06:59:41 +02:00
Laurent Monin
6e0054d242 TagCoverArtImage(): properly set _repr() and _str() for this subclass
Also add matching tests
2023-09-20 13:16:01 +02:00
Laurent Monin
768b392c2f Merge pull request #2316 from zas/python_audit
PICARD-2757: Add a command-line option to enable audit
2023-09-18 15:21:33 +02:00
Philipp Wolfer
31a5d273de Use raw strings to avoid double backslashes in Windows path strings 2023-09-18 12:03:16 +02:00
Philipp Wolfer
d211e7464d PICARD-2756: Fix long path support for Windows UNC (network) paths 2023-09-18 12:03:16 +02:00
Laurent Monin
6a8053fcf0 make_prefixes_dict(): split code to list_from_prefixes_string() 2023-09-18 10:54:30 +02:00
Laurent Monin
b8a0002fbe event_match_prefixes() -> is_matching_a_prefix()
This method isn't strictly related to events, but rather to dot-separated keys, use more generic names
2023-09-18 10:54:30 +02:00
Laurent Monin
ea0d4f5a13 make_events_prefixes() -> make_prefixes_dict()
Not directly linked to audit events
2023-09-18 10:54:30 +02:00
Laurent Monin
1390ac7f2d Add a command-line option to enable audit, using Python 3.8 sys.addaudithook()
That's a debugging feature.

Try '--audit os.mkdir,open' or '--audit all'
2023-09-18 10:54:30 +02:00
Laurent Monin
9cbc2b4766 Add tests for CoverArtImage __repr__() and __str__() 2023-09-14 14:56:40 +02:00
Philipp Wolfer
cc59c1df76 On plugin import error unset sys.modules again 2023-09-13 08:18:53 +02:00
Philipp Wolfer
b1afa8e121 PICARD-2354: Use MetaPathFinder to find Picard plugins 2023-09-09 16:55:34 +02:00
Philipp Wolfer
83f6b6fc93 PICARD-2690: Move picard/const translations into separate message domain
This most prominently moves translations of dropdown lists for locales
and writing systems into a separate component, making it easier to
translate the main UI texts.
2023-08-24 17:36:42 +02:00
Laurent Monin
af6f90d64a PICARD-2700: fix accumulating series metadata on refresh 2023-08-22 14:20:18 +02:00
Philipp Wolfer
67dc990230 Speed up test_pipe_protocol test
Only test a single message, reduce timeouts.
2023-08-20 15:38:31 +02:00
Philipp Wolfer
ddda49c6ff PICARD-2712: Fix sanitize date removing 0 values
Sanitize date cleared zero values in between, such turning "YYYY-00-DD"
into "YYYY-DD", which would be a completely different date.

Fix this by keeping empty values if they are not the last element.
2023-08-17 10:14:45 +02:00
Philipp Wolfer
165cc8519d Add small delays in test_pipe_protocol tests 2023-08-16 16:55:34 +02:00
Philipp Wolfer
df81f4e48a Make pipe tests more robust on error 2023-08-15 14:25:34 +02:00
Philipp Wolfer
38ea9d5902 Simplified pipe test case, fixes tests on Windows 2023-08-14 18:44:06 +02:00
Philipp Wolfer
112e0d885e PICARD-2685: Preserve calculated AcoustID and ReplayGain tags
Preserve calculated AcoustID fingerprint and ReplayGain tags set on a file
object when that file object gets moved between tracks.
2023-07-25 00:47:31 +02:00
Philipp Wolfer
c9e728f97d Added tests for file.copy_metadata 2023-07-25 00:47:31 +02:00
Laurent Monin
497aeae35b Rework _try_locales(), introduce _try_encodings(), and add tests for them 2023-06-12 23:29:56 +02:00
Philipp Wolfer
27edb07068 Merge pull request #2231 from phw/i18n-tests
Refactor loading of locales in i18n module, extended logging and added tests
2023-06-11 17:40:51 +02:00
Laurent Monin
54801d97df Now that we default to 'C' locale for tests, remove redundant setups 2023-06-11 16:56:37 +02:00
Laurent Monin
386bbd683d test_existing_locales(): assert the _() changed after setup 2023-06-11 16:56:37 +02:00
Laurent Monin
be393f60af Default to C locale for all tests
It ensures tests aren't locale-dependent.
2023-06-11 16:56:37 +02:00
Laurent Monin
5d486c94fc WebService: add more tests for queryargs and unencoded_queryargs 2023-06-09 10:20:20 +02:00
Philipp Wolfer
866ef71dce Skip locale test if locales are not built, build locales in CI tests 2023-06-09 09:19:07 +02:00
Philipp Wolfer
79cbc53f4d i18n: basic tests for working locales 2023-06-09 08:59:16 +02:00
Laurent Monin
5395cbfc3d MBAPIHelper: introduce _make_inc_arg() to build inc parameter value
- it produces a more stable output (elements are sorted)
- it gets rid of empty elements (preventing a++b case)
- it accepts any iterable
- add a test for it

I also removed 2 useless conversion to tuple() (it can use a set() anyway)
2023-06-09 08:50:34 +02:00
Laurent Monin
58f6b8dc7b Get rid of APIHelper path list, just pass the path string to append 2023-06-08 16:44:15 +02:00
Laurent Monin
efde79a5e1 API Helpers: use unencoded_queryargs 2023-06-08 16:44:15 +02:00
Philipp Wolfer
c7acf9ea5b Use base_url in APIHelper instead of separate url and base_path properties 2023-06-08 16:44:15 +02:00
Laurent Monin
944a92eecd Add an helper method to encode query arguments: encoded_queryargs() 2023-06-08 16:44:15 +02:00
Laurent Monin
16ff3c5c97 Move few functions to new webservice.utils and introduce set_minimum_delay_for_url()
- it limits the need to import hostkey_from_url()
- it reduces the size of webservice.py
- it reduces dependencies between files
2023-06-08 16:44:15 +02:00
Laurent Monin
2e54681fd6 Introduce host_port_to_url()
This method will help with the move, since we have in many places just host & port (including in Options dialog).

Basically it does its best to convert it to an URL.
2023-06-08 16:44:15 +02:00