Commit graph

11534 commits

Author SHA1 Message Date
root
6539cdcfc5 added to changelog 2023-03-26 14:20:10 -04:00
root
c59ca0fca1 enforced utf-8 encoding on imported files 2023-03-26 14:13:20 -04:00
J0J0 Todos
34227cfabc
Merge pull request #4708 from JOJ0/mb_external_ids
Save external ID's via MusicBrainz
2023-03-26 14:25:15 +02:00
J0J0 Todos
5bf4e3d92f Dedicated flex attrs for Deezer, Beatport album ID
- Similar to what the Spotify plugin does, on imports we save to a field
  `..._album_id` (spotify_album_id, deezer_album_id, beatport_album_id)
- It would be good to submit such a change to the 3rd-party plugins beetcamp
  and beatport4 as well (beatport_album_id, bandcamp_album_id).
- We might need to investigate why none of these
  flex attr fields get populated to the beets album level (`beet info -a`,
  album_attributes db table), it is only available at the item level (`beet
  info`, item_attributes db table). This should be tackled in a future
  issue/PR.
2023-03-26 13:20:07 +02:00
Andrew Rogl
e5f2e6d37b Updated comments to attempt to be more self contained 2023-03-26 18:35:29 +10:00
J0J0 Todos
2e5394246f Docs for #4708 2023-03-25 20:51:52 +01:00
J0J0 Todos
348a9fbf13 Changelog for #4708 2023-03-25 20:51:52 +01:00
J0J0 Todos
6acee803f7 Exclude ID's when preserving flexible attributes
- Bandcamp, Spotify, Deezer and Beatport ID's are saved in the library as
  flexible attributes.
- On _reimports_ the method importer.ImportTask.reimport_metadata() takes care
  of preserving existing values for flexible attributes instead of applying new
  (and potentially empty) values.
- In this case we don't want this behaviour and need to make sure that new
  values are applied. Therefore we check whether such ID's of metadata services
  are present in the reimported items and exclude them in reimport_metadata().
2023-03-25 20:51:52 +01:00
J0J0 Todos
fd4cecc29e Make external IDs fetching via MB configurable
- By default no external URLs will be looked for in the 'url-relation-list' of
  the releae dictionary.
- Enabling is possible per each external service.
2023-03-25 20:51:52 +01:00
J0J0 T
6f2c31926e Fetch more external IDs via MusicBrainz
Add retrieval and ID extraction of Bandcamp, Spotify, Deezer and Beatport URLs
while retrieving a MusicBrainz release.
2023-03-25 20:51:16 +01:00
Andrew Rogl
4338ef3e35 Address comments from @sampsyo 2023-03-25 13:36:27 +10:00
Adrian Sampson
4194914e94
Merge pull request #4712 from arsaboo/convert_negation
Add additional example to convert plugin
2023-03-24 16:55:36 -07:00
J0J0 Todos
e51206ae16
Merge pull request #4723 from arsaboo/jiosaavn
Add JioSaavn to the community plugins list
2023-03-23 12:28:53 +01:00
J0J0 Todos
1dd75d687a
Merge pull request #4705 from arsaboo/installation
Add instructions to install directly from Github.
2023-03-23 12:26:25 +01:00
Alok Saboo
5231037591 Add JioSaavn as a tag source 2023-03-20 17:32:45 -04:00
Alok Saboo
2060e047d2 Update parser options 2023-03-19 10:21:32 -04:00
Alok Saboo
2d942ce722 Move import inside the function 2023-03-19 09:15:38 -04:00
Alok Saboo
59d5d23bb3 Update embedart.py 2023-03-18 19:12:29 -04:00
Alok Saboo
64c2ae138d Update embedart.py 2023-03-18 19:11:24 -04:00
Alok Saboo
81835b0721 Update embedart.py 2023-03-18 19:08:46 -04:00
Alok Saboo
4dd165495f Update embedart.py 2023-03-18 19:00:28 -04:00
Alok Saboo
feeeb4080c Update embedart.py 2023-03-18 18:58:32 -04:00
Alok Saboo
f051d67947 Add option to import using URL 2023-03-18 18:23:53 -04:00
Alok Saboo
9f4b43c540 Point to latest docs 2023-03-18 10:56:16 -04:00
Alok Saboo
6d0e5ba8ca Change to GitHub 2023-03-17 11:06:46 -04:00
Alok Saboo
5f87371229 rephrase 2023-03-14 20:57:34 -04:00
Alok Saboo
05cdecfb7c Add more examples to convert plugin 2023-03-14 20:39:47 -04:00
Alok Saboo
53911c74dd Link to dev docs 2023-03-13 11:33:45 -04:00
Alok Saboo
36daf93828 Add instructions to install directly from Github. 2023-03-12 16:28:29 -04:00
J0J0 T
c2c617594f Save Discogs Release ID via MusicBrainz
- Enable fetching 'url-rels' from the MusicBrainz release endpoint.
- A MusicBrainz release might contain a link to a Discogs release
  which we save to the discogs_albumid attribute of the info object.
- For extraction of the release ID from the Discogs URL, we use the method
  provided in the id_extractors util module.
2023-03-12 12:03:31 +01:00
Adrian Sampson
2e18f84b38
Merge pull request #4698 from ghbrown/discogs_client_check
discogs_client version check
2023-03-10 21:56:48 -08:00
ghbrown
f1b7832d52 Change minimum discogs_client version to 2.3.15 2023-03-10 15:28:29 -06:00
J0J0 Todos
9bc6066517
Merge pull request #4699 from arogl/patch-2
Fix typo in beetsplug/deezer.py
2023-03-10 08:34:55 +01:00
Andrew Rogl
e33369d231
Fix typo in beetsplug/deezer.py
Found another typo
2023-03-10 17:28:52 +10:00
ghbrown
bad541e2c4 Address lint errors for discogs_client version check 2023-03-09 17:38:47 -06:00
ghbrown
566a58c8bb Edit changelog for discogs_client version check 2023-03-09 17:23:42 -06:00
ghbrown
437f6e76e4 Add warning about (python3-)discogs-client version 2023-03-09 17:16:11 -06:00
J0J0 Todos
8ec9f5a09b
Merge pull request #4696 from arogl/patch-1
Fix typo in deezer.py
2023-03-09 13:16:24 +01:00
Andrew Rogl
5662fef842
Fix type in deezer.py 2023-03-09 17:05:03 +10:00
J0J0 Todos
40d27f5522
Merge pull request #4633 from JOJ0/refactor_id_extraction
Refactor metadata source ID extraction utilities
2023-03-08 18:46:33 +01:00
J0J0 Todos
c6746ed399 Add a test for Beatport ID extraction 2023-03-08 18:29:04 +01:00
J0J0 Todos
af600497ee Add a test for Deezer ID extraction 2023-03-08 18:28:41 +01:00
J0J0 Todos
c1299f64a1 Add a test for Spotify metadata ID extraction 2023-03-08 18:22:54 +01:00
J0J0 Todos
c48fa0a830 Fix Discogs ID extractor to support short format
- Often discogs release links used to be written as discogs.com/release/<id>
- Extend one of the existing regex patterns to support that by making the
  trailing dash (-) optional.
- Save a new test regex on regex101.com and update the link to it.
2023-03-08 18:12:31 +01:00
J0J0 Todos
aaa4cfce49 Leave note about Bandcamp IDs in id_extractors module. 2023-03-08 18:12:31 +01:00
J0J0 Todos
f36c55f730 Refactor Beatport plugin to use _get_id
from MetadataSourcePlugin and save beatport_id_regex in id_extractors module.
This streamlines the Beatport release ID extraction magic with plugins Deezer
and Spotify.
2023-03-08 18:12:31 +01:00
J0J0 Todos
8ab25694a5 Move Deezer ID regex to id_extractors module
in beets.util package.
2023-03-08 18:12:31 +01:00
J0J0 Todos
284180ec75 Refactor MetadataSourcePlugin._get_id()
and put to use in Spotify plugin.

- Make _get_id() a staticmethod usable from outside a metadata source plugin.
- id_regex now has to be passed as an argument instead of assuming it is
  accessible via an instance variable (self.id_regex).
- In the Spotify plugin, import spotify_id_regex from util.id_extractors
2023-03-08 18:12:31 +01:00
J0J0 Todos
0175a9aed8 Introduce new module beets.util.id_extractors
- We introduce a new submodule of beets.util named id_extractors.
- Parts of the ID extraction utilites required by metadata source plugins
  should live there.
- Also this enables future usage of those utilities from the "outside" of
  metadata source plugins.
- Move Discogs ID extractor to the new module and change test_discogs to use
  the new location.
- Add spotify_id_regex variable to the new module.
2023-03-08 18:12:31 +01:00
J0J0 Todos
8bbaefbdc9
Merge pull request #4643 from Steffo99/sphinx-deps 2023-03-08 16:58:48 +01:00