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
Philipp Wolfer
53a2e3bb60
PICARD-1972: When matching files to tracks preserve track length ( #1659 )
...
PICARD-1972: Allow initializing Metadata with another Metadata object
If calling Metadata(other_metadata) make a full copy and don't just treat other_metadata as a dict.
Apart of making the API more intuitive this fixes issues with track metadata being not fully preserved when attaching files to tracks.
2020-10-16 13:27:10 +02:00
Philipp Wolfer
bbcd54ea27
PICARD-1390: Set webservice transfer timeout on config changes
...
Avoid reading the config on each request
2020-10-11 11:45:45 +02:00
Philipp Wolfer
ff2c62c024
PICARD-534: Add support for SOCKS proxy
2020-10-10 17:04:40 +02:00
Philipp Wolfer
957c921592
Merge pull request #1651 from phw/fix-clear-existing-tags
...
PICARD-259: Fix clear_existing_tags
2020-10-08 15:19:35 +02:00
Philipp Wolfer
c3ccd6a392
Make MultiMetadataProxy fully compatible with Metadata
...
Run the same test cases against both Metadata and MultiMetadataProxy
2020-10-07 17:48:24 +02:00
Philipp Wolfer
06508560f9
MultiMetadataProxy to combine multiple metadata objects
2020-10-06 20:04:52 +02:00
Philipp Wolfer
69b0d0e073
PICARD-1961: Keep instrument and other attributes spelling as is
...
This was introduced very eraly in d923c9a . Originally MB provided a more fixed list of instruments, with instrument names as attributes actually being camel cased.
This is no longer the case and instruments should now be used as given in the API response.
2020-10-05 10:43:52 +02:00
Philipp Wolfer
6b10e16ede
PICARD-1951: Prevent complete hiding of metadata box or file panes
2020-09-27 22:43:16 +02:00
Philipp Wolfer
21d4f04029
PICARD-259: Preserve manual changes to tracks on matched files
...
Keep track of manual changes to a track's metadata and reapply them to matched files.
2020-09-22 09:34:27 +02:00
raingloom
5b37bfc33a
Minor fix ID3 rename_txxx_tags test
2020-09-06 20:56:40 +02:00
Philipp Wolfer
75ec812f6b
Avoid the terms "blacklist" and "whitelist"
2020-09-06 19:07:27 +02:00
Philipp Wolfer
81b88101eb
Rename Whitelist cover art provider to UrlRelationships
2020-09-06 19:07:27 +02:00
Philipp Wolfer
da1acd36c2
Added missing test for config upgrade to v2.4.0b3
2020-09-05 18:30:11 +02:00
Laurent Monin
9aaa5c62a8
Merge pull request #1596 from zas/fix_pr_1891
...
PICARD-1891: handle incorrect date parsing exceptions
2020-07-21 13:19:24 +02:00
Laurent Monin
5e5535a21b
Test for ID3 date format
2020-07-21 09:39:21 +02:00
Philipp Wolfer
615426449f
PICARD-1894: Fix tracknumber detection from filename
...
Do not detect parts of longer numbers as track no., e.g. "Song 2015" must not be detected as track no. 15.
2020-07-21 09:37:24 +02:00
Laurent Monin
219b734569
PICARD-1891: handle incorrect date parsing exceptions
...
- catch exceptions in extract_year_from_date() and log them to debug
- return None if year cannot be extracted
- check for None in metadata.compare_to_release_parts() before trying to compare years
This isn't perfect, the function is called a lot of time and it spams debug log (if enabled)
Note: I removed a very old comment in imports that doesn't make any sense (it was introduced 6 years ago in 323d12892c ) and it was making isort unhappy.
2020-07-20 17:41:46 +02:00
Philipp Wolfer
dd2acaf6ee
PICARD-1892: Fixed deleting totaldiscs / totaltracks from Vorbis tags
...
Deleting failed if the file only contained disctotal or tracktotal tags, but not also totaldiscs or totaltracks.
2020-07-20 13:29:54 +02:00
Philipp Wolfer
048651fa41
Refactor script module into package
2020-07-19 21:30:56 +02:00
Laurent Monin
dc782a6b43
Fix spurious Restart Picard message about color changes
...
- detection of color changes was broken
- code cleanup
- added tests
2020-07-19 16:10:26 +02:00
dukeyin
cbc1bce030
Add unit test for "Use release relationships"
...
* Added a release-level producer to release.json because the existing release-artist relationships are not used in tagging
* Modified the existing release test to check that the producer tag is the release-level producer when "Use release relationships" is enabled
* Added a release test to check that the producer tag is empty when "Use release relationships" is disabled
2020-07-17 20:01:37 -04:00
dukeyin
f042928433
Don't use release relationships if they are disabled in metadata options
2020-07-17 19:57:37 -04:00
Philipp Wolfer
98b0f327b2
PICARD-1871: Use TagListEditor for preserved tags
2020-07-14 17:04:51 +00:00
Philipp Wolfer
3f9ad5a743
PICARD-1884: Fix tracknumber tag with value 0 not set
2020-07-14 17:03:30 +00:00
Philipp Wolfer
bbc3f1450f
PICARD-1839: Support tagging DSDIFF (DFF) files with ID3
2020-07-14 07:41:15 +00:00
Philipp Wolfer
a2207df8ba
PICARD-1853: Fix crash in natsort on superscript numeric chars
2020-06-25 18:18:12 +02:00
Philipp Wolfer
b0a01a99ac
PICARD-1853: Fix natsort crashing on strings with '\0'
2020-06-23 20:18:05 +02:00
Philipp Wolfer
cbe88786a6
PICARD-1846: Do not raise KeyError in Metadata.unset
2020-06-19 14:47:03 +02:00
Philipp Wolfer
ddd9c9d4d9
Merge pull request #1555 from Gabrielcarvfer/Performance
...
PICARD-1844: Further improve loading and clustering performance
2020-06-19 08:37:57 +02:00
Gabriel Ferreira
e843b4f3ed
Update statusbar with clustering progress
2020-06-18 14:33:57 -03:00
Philipp Wolfer
149e02c914
PICARD-1840: For instrumental recordings unset lyricist
...
Also set language to zxx ("No lyrics"), fixes PICARD-1117
2020-06-17 21:34:02 +02:00
Philipp Wolfer
8cea3807c0
PICARD-1820: Allow single digit versions like "2" to be parsed
...
A version 2 is equivalent to 2.0 or 2.0.0.
2020-06-08 18:22:32 +02:00