Beetcamp

Latest version: v0.20.0

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 8

0.9.2

Fixed

- Thanks arogl for fixing a FutureWarning apparent thrown in Python 3.7.
- Thanks brianredbeard for reporting that the plugin writes file metadata even when this
is disabled globally. This is now fixed.
- singleton album/artist: cases when the release name contains only the track name are now
parsed correctly.

Removed

- Removed deprecated `lyrics` configuration option.

Added

- Added a github action to run CI for `master` and `dev` branches. For now it's just a minimal
configuration and will probably get updated soon.

0.9.1

Fixed

- `album.albumstatus`: If the release date is _today_, use **Official** and not
**Promotional**.
- `album.albumtype`:
- Until now we have only set _single_ track releases to have the _single_ type. This has
been fixed regarding the MusicBrainz description: release composed of the same title
and multiple remixes is a single.
- Use `ep` only if _EP_ is mentioned either in the album name or the disc title.
- `album.catalognum`: Make the _DISCTITLE_ uppercase before looking for the catalog
number.
- `album.media`: Exclude anything that contains _bundle_ in their names. These usually
contain additional releases that we do not need.
- `track.title`: Clean `- DIGITAL ONLY` (and similar) when it's preceded by a dash and not
enclosed by parentheses or square brackets.
- `track.track_alt`: Having witnessed a very creative track title **E7-E5**, limit the
`track_alt` field number to the range **0-6**.
- Committed a JSON test case which was supposed to be part of `0.9.0`.

Added

- Extend `url2json` with `--tracklist-for-tests` to ease adding new test cases.

0.9.0

Fixed

- If track artist is given in the `byArtist` field of the track JSON resource, it is used.
(Fixes 13, thanks xeroxcat).
- Parse cases like `Catalogue:CAT-000` from the description correctly when the space is missing.

Added

- The `comments` field now includes the media description and credits.
- The description is searched for artist and album names in addition to the catalog
number.

Updated

- All test cases are now pretty JSON files - this should bring more transparency around
the adjustments that Bandcamp make in the future (once they get updated). The `url2json`
tool has `-u` flag that updates them automatically.

- Parsing

- `(FREE)`, `(free download)`-like strings are now removed from the track names.
- `[Vinyl]` is excluded from album names.

0.8.0

Fixed

- Responded to bandcamp html updates:

- `artist_id` now lies under `publisher` resource (previously `byArtist`) in the
`/track/<name>` output when the track is part of an album.
- `url` field has disappeared from track objects - using `id` instead.
- `country` and `label` fields are now found in the JSON data and thus we make use of it
- Updated and truncated test html files since we now only need to see the beginning of
the document.

- Parsing / logic:

- Token `feat.` is now recognized as a valid member of the `artist` field.
- `free download`, `[EP|LP]`, `(EP|LP)`, `E.P.`, `LP` are now cleaned from the album name.
- Updated `albumtype` logic: in some `compilation` cases track artists would go missing
and get set to _Various Artists_ - instead it now defaults to the original
`albumartist`.
- Handling a couple of edge cases in the track name / title, and catalognum parsers.

Updated

- Package:

- Moved `beets` from main to dev dependencies.
- Updated supported python versions range (3.6.x-3.9.x)
- Added pylint.
- Removed dependency on `packaging` - using `pkg_resources` instead.

- Internal:

- Reintroduced `cached_property` across most of the fields having found how often certain
ones get called.

Added

- Release description is now checked for the catalog number.
- Added a test based on parsing _the JSON output_ directly without having to parse the
entire HTML. Bandcamp have been moving away from HTML luckily, so let's hope the trend
continues.
- Added a tiny cmd-line tool `url2json` which simply outputs either a compacted or a
human version of the JSON data that is found for the given bandcamp URL.

0.7.1

Fixed

- Fixed singleton regression where track list was getting read incorrectly.

0.7.0

Added

- For those who use `beets >= 1.5.0`, singleton tracks are now enriched with similar metadata
to albums (depending on whether they are found of course):

- `album`: **Artist - Track** usually
- `albumartist`
- `albumstatus`
- `albumtype`: `single`
- `catalognum`
- `country`
- `label`
- `medium`, `medium_index`, `medium_total`
- release date: `year`, `month`, `day`

- Album names get cleaned up. The following, if found, are removed:

- Artist name (unless it's a singleton track)
- Label name
- Catalog number
- Strings
- **Various Artists**
- **limited edition**
- **EP** (only if it is preceded by a space)
- If any of the above are preceded/followed by **-** or **|** characters, they are
removed together with spaces around them (if they are found)
- If any of the above (except **EP**) are enclosed in parentheses or square brackets,
they are also removed.

Examples:

Album - Various Artists -> Album
Various Artists - Album -> Album
Album EP -> Album
[Label] Album EP -> Album
Artist - Album EP -> Album
Label | Album -> Album
Album (limited edition) -> Album

- Added _recommended_ installation method in the readme.
- Added tox tests for `beets < 1.5` and `beets > 1.5` for python versions from 3.6 up to
3.9.
- Sped up re-importing bandcamp items by checking whether the URL is already available
before searching.
- Parsing: If track's name includes _bandcamp digital (bonus|only) etc._, **bandcamp** part gets
removed as well.

Changed

- Internal simplifications regarding `beets` version difference handling.

Fixed

- Parsing: country/location name parser now takes into account punctuation such as in
`St. Louis` - it previously ignored full stops.

Page 5 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.