Commit Graph

743 Commits

Author SHA1 Message Date
Bob Swift
83074c3c9a Strip empty elements in MultiValue class. Fix $replacemulti() test. 2021-04-12 09:54:39 -06:00
Bob Swift
ba862a14f8 Add one test line to better check the return value of the function 2021-04-11 13:29:23 -06:00
Bob Swift
61f9a6e04e Refactor code slightly and improve test to better reflect the process 2021-04-11 13:13:30 -06:00
Bob Swift
65afbbf2a1 Remove duplication from test 2021-04-11 12:03:01 -06:00
Bob Swift
58148d6118 Remove empty elements from $map() output 2021-04-11 11:46:46 -06:00
Wieland Hoffmann
0d92ddbdaf PICARD-2182: Fix the no-op codepath of $replacemulti
Previously,

> $replacemulti(%foo%,A,,)

fails with

> "Expected str instance, ScriptExpression found"

Eval the ScriptExpression to get the real value.
2021-04-11 11:41:57 +02:00
Adam James
4c2bc9801b Add script function to replace entries in multi-value variables 2021-04-09 08:50:49 +02:00
Philipp Wolfer
c944ee2e40 Merge pull request #1769 from rdswift/add_uniquemulti
PICARD-2161: Add function to remove duplicate entries from multi-value variable
2021-04-01 22:08:24 +02:00
Gabriel Ferreira
adf051cb65 Reduce comparison overhead of logging window 2021-03-28 15:31:57 -03:00
Bob Swift
d0335e71a8 Clean up sorted() parameter. Change name to $unique() 2021-03-28 11:47:44 -06:00
Bob Swift
6604d38c60 Add function to remove duplicate entries from multi-value variable 2021-03-27 11:35:07 -06:00
Gabriel Ferreira
89e640ef70 Allow selection of light, dark or system theme 2021-03-15 18:43:06 -03:00
Philipp Wolfer
dc1f46946e PICARD-2135: Fixed overwriting and deleting license tags to ID3 2021-03-09 10:30:10 +01:00
Philipp Wolfer
09d771906f PICARD-2135: Fixed overwriting and deleting WOAR frame 2021-03-09 09:16:29 +01:00
Philipp Wolfer
f45be774c6 PICARD-2130: Move save_only_one_front_image option from CAA to cover options 2021-03-03 10:39:10 +01:00
Philipp Wolfer
2d7babcc7a PICARD-2130: Move image_type_as_filename option from CAA to cover options
Also refactor the cover options page to be more clear on how settings relate to each other.
2021-03-03 09:59:57 +01:00
Philipp Wolfer
d3d596b09a PICARD-2124: Add and fill _releaseannotation variable 2021-02-22 17:34:09 +01:00
Philipp Wolfer
dee1ad5c81 PICARD-1998: Add "director" (for videos) tag
This adds a tag "director" which is filled with the "video director" AR from MB by default.
2021-01-16 15:48:53 +01:00
Philipp Wolfer
f845a10cac Use yield from syntax where appropriate 2021-01-15 19:21:08 +01:00
Philipp Wolfer
4807b34c86 PICARD-204: Rename original release date variables
Use %_recording_firstreleasedate% and `%_releasegroup_firstreleasedate% for better readability.
2021-01-15 17:23:57 +01:00
Philipp Wolfer
a7e0b9f999 PICARD-204: Support for recording-level original release date
Provide variables %_recordingoriginaldate% and %_releaseoriginaldate%.
2021-01-15 17:23:57 +01:00
Philipp Wolfer
0ac28e7ff7 Get extensions for all supported image formats from imageinfo
Avoids maintaining a separate list of image extensions in coverartbox.
2021-01-04 13:28:19 +01:00
Philipp Wolfer
71a500318e Fixed fetching remote images other then PNG and JPEG
Refactored coverartbox to use imageinfo for getting supported mimetypes and directly try to initialize cover images instead of trying imageinfo.identify first.
2021-01-04 13:28:19 +01:00
Philipp Wolfer
60087bfc3b PICARD-2090: Add TIFF support again 2021-01-03 10:06:38 +01:00
Philipp Wolfer
4eee1ad4d0 Add util.bitreader instead of importing private API from mutagen 2021-01-02 14:34:52 +01:00
Philipp Wolfer
0d01615498 PICARD-2089: Support WebP for cover art images 2021-01-02 12:18:40 +01:00
Philipp Wolfer
b7f4f3f11b Bump version to 2.6.0dev1
The changes to the config system with per thread config instances is considered an internal API change.
2020-12-31 12:38:00 +01:00
Philipp Wolfer
643ab1dc60 PICARD-2083: Allow empty fpcalc path, auto detect path if empty 2020-12-27 12:22:37 +01:00
Philipp Wolfer
8053e59eda Refactor config.purge_config_instances 2020-12-25 17:06:32 +01:00
Philipp Wolfer
c0e6243a13 PICARD-1926: Adjust test cases for new config structure 2020-12-25 12:37:15 +01:00
Philipp Wolfer
0abf11a88e Fixed interface_colors test when dark UI is in use 2020-12-24 14:33:58 +01:00
Laurent Monin
3bec87d1e4 Fix up AcoustidManager tests 2020-12-11 16:13:16 +01:00
Laurent Monin
efb03b03b4 Simplify default colors registration 2020-12-10 14:05:17 +01:00
Philipp Wolfer
b805bcccb2 Move iter_files_from_objects to picard.util 2020-12-03 14:57:13 +01:00
Philipp Wolfer
bab8447c8e Add a tagger.iter_files_from_objects method
Similar to get_files_from_objects, but uses an iterator instead of creating a list.
2020-12-03 11:51:21 +01:00
Philipp Wolfer
bbad105db5 Avoid emiting metadata_images_changed without changes 2020-12-02 09:06:01 +01:00
Philipp Wolfer
a54090a960 Let Track inherit from FileList
Unifies handling of objects with linked files. Simplifies code, e.g. cover art propagation to parent objects
2020-12-02 09:06:00 +01:00
Philipp Wolfer
13a56d65b7 Fixed unit tests for Python 3.5
Mock.assert_called_once() is only available in Python 3.6 and later
2020-11-30 10:12:03 +01:00
Philipp Wolfer
de31bf2984 Added tests for IgnoreSelectionContext 2020-11-30 09:47:31 +01:00
Wieland Hoffmann
1386f1db03 PICARD-2036: Add MultiMetadataProxy::pop to WRITE_METHODS 2020-11-29 19:53:51 +01:00
Philipp Wolfer
6728c8c48a PICARD-2019: Fix os.path.isabs not detecting Windows share correctly
Works around the issue that os.path.isabs detects a path like \\server\share not as absolute.
This can break file naming on Windows shares and result in recursive sub folders.

See also https://bugs.python.org/issue22302
2020-11-25 15:43:54 +01:00
Laurent Monin
11097d3b08 Create WinPathTooLong exception class based on OSError
Fix tests accordingly
2020-11-21 15:10:17 +01:00
Philipp Wolfer
de3ed42c40 PICARD-2014: Fix config upgrade from versions < 1.3.0 2020-11-15 16:39:22 +01:00
Philipp Wolfer
251b882f8a PICARD-1991: Ensure file name case changes on Linux
Apply workaround to ensure file name changes in case only also on Linux when using case insensitive file systems.
Unify the approaches for Windows and Linux. Apply the workaround only if necessary.
2020-10-31 13:15:18 +01:00
Philipp Wolfer
e1545bffca PICARD-1992: On Windows use win32api.GetLongPathNameW to get actual file name
Use win32api.GetLongPathNameW on Windows to get the actual file name with the casing as on disk.
2020-10-31 11:52:48 +01:00
Philipp Wolfer
d4af836d11 PICARD-1992: Force case-changing on file systems not supporting it
On some case sensitive, case preserving file systems a normal rename will not change the casing. Detect this case and workaround it by doing a double rename.
2020-10-31 11:52:47 +01:00
Philipp Wolfer
db2d25eefc Merge pull request #1660 from phw/PICARD-1974
PICARD-1974: Fix Tags From Filenames handling same tag multiple times
2020-10-16 16:43:11 +02:00
Philipp Wolfer
058c980c6d PICARD-1974: Parse multiple matches in Tags From Filenames as multivalue tags 2020-10-16 13:30:00 +02:00
Philipp Wolfer
f9d1d95b73 PICARD-1975: Allow parsing hidden tags in Tags From Filenames 2020-10-16 13:29:59 +02:00
Philipp Wolfer
06df904d9d PICARD-1974: Fix crash in Tags From Filenames
Fix crash in Tags From Filenames if same tag placeholder was used multiple times. Refactor the parsing and matching of the expression into separate class with tests.
2020-10-16 13:29:59 +02:00