A multi‐source seeder for digital releases

Also, @atj it would be a good idea to add Apple Music API support, if it’s available. It would be handy to know which releases are available for streaming, download or both without having to open the links.

Unfortunately the Apple Music API isn’t public, like the rest. But if he has a way, that’d be awesome. However, anytime a-tisket says that iTunes returned a result, but an empty tracklist means that that release is Apple Music only and not available on iTunes. Currently, the “view-source” on iTunes/Apple Music sites shows all the ISRC’s, so if there’s a way to pull that like it can on barcodes if they are there, that’d be cool.

1 Like

Record label is also in the “view-source” as recordlabel:

1 Like

I’ve seeded several releases tonight, and the last few have ended with this error message in place of the usual spate of complementary links:

Not enough data. Either the cached file or the release MBID were omitted or are invalid.

EDIT: This apparently only happens when I seed a release without a barcode (this only happens with iTunes releases).

Thanks for the reports @chaban, @tigerman325 and @HibiscusKazeneko - I’ll look into the issues today.

@HibiscusKazeneko, can you provide me with an example where you get the “Not enough data” error?

1 Like

Here is one release where I got the error after seeding:


As you can tell, there is no barcode (because the seeder couldn’t find one).

This is now fixed. I used the following release from your original post for testing the track AC:

4 Likes

Thanks for the example, it really helped with debugging the issue. Interestingly, looking up that release on the original site just returns an empty page:

https://etc.marlonob.info/atisket/?preferred_countries=JP&itu_id=1068393045

Anyway, I worked out why you were receiving the “not enough data” error and I believe it’s now fixed:

5 Likes

Almost all iTunes only releases lately have been returning blank pages on the original site. Not sure why.

2 Likes

I just tried an iTunes-only release on the pulsewidth hosted version and it worked great, meanwhile on marlonob’s version it returned a blank page.

3 Likes

@atj Super small nitpick, there’s a typo in one of the warning messages:
“Since a UPC couldn’t be determined, no other iTunes county stores have been queried.”

“county” should be “country”

5 Likes

Thanks for the feedback. This and various other typos will be resolved shortly thanks to some changes submitted by @kellnerd.

1 Like

I’ve noticed there is some structured JSON embedded on each Apple Music page, which it would be possible to scrape, however that approach is less than ideal.

There is actually a fully featured Apple Music API, but you need to be a member of the Apple Developer Program to access it, which costs $99 per year :roll_eyes:

4 Likes

I would be happy to pitch in if it’s particularly useful for the DB

3 Likes

Thanks for the offer @aerozol, it is appreciated. As it stands a comprehensive refactor is required to get the code into a maintainable state before we can even think about adding major new features. As an example, there is a complete lack of any rate limiting mechanism for external API queries (which is something that I’m frequently bumping into whilst testing changes). Unfortunately no PHP framework was used to build the application and there are no tests, so making changes is pretty arduous.

In addition to the above, whilst I’m moderately familiar with PHP it is not a language I particularly enjoy coding in. Therefore my long term plan (at the moment) is to keep the forked version of a-tisket working as best I can, resolve any major issues that are reported and add simple new features.

I’ve been working on a Ruby client for querying the Deezer, Spotify and MB APIs in a consistent manner over the last few days, which has support for rate limiting and caching. The plan is for this to be the basis of a Rails based application using background workers and web sockets to implement the same functionality as a-tisket. Note that I have a history of starting things like this and not following them through, so don’t get your hopes up just yet! However I mention it because, should it become a reality, adding support for the Apple Music API would be much more straightforward.

10 Likes

These fixes have now been deployed. :+1:

Perhaps it was obvious to some of you, but whilst we were discussing these changes @kellnerd worked out that the name “a-tisket” originates from an Ella Fitzgerald song:

2 Likes

OK, final update for tonight. I’ve implemented a POC for a small new feature that I’d like some opinions on.

The inability to automate adding the artist vendor relationship links which appear on the complimentary links page has always irritated me. So I did a bit of digging and worked out how to automatically add new links in the artist editor (whilst triggering validation) from a userscript. So I wrote a small script which runs on the artist editor page and parses certain query parameters. I then added some code to a-tisket to match up artist names and MB IDs and create links that the user script can use to seed the artist editor:

image

Here is an example of what happens when you click on the first link (changes highlighted);

Obviously it requires the use of a userscript which is not ideal, but it does make it trivial to add vendor links to artists, which I don’t think many people (including myself) do frequently.

All constructive thoughts welcome!

9 Likes

I’m using @atj’s a-tisket mirror (https://atisket.pulsewidth.org.uk/) and noticed some discrepancies between a-tisket countries and MusicBrainz’

a-tisket (country code) => Corresponding MusicBrainz Country (country code)
Macedonia (mk) => North Macedonia (mk)
Russian Federation (ru) => Russia (ru)
Libyan Arab Jamahiriya (ly) => Libya (ly)
Congo, Democratic Republic (cd) => Democratic Republic of the Congo (cd)
Palestinian Territory, Occupied (ps) => Palestine (ps)
Korea (kr) => South Korea (kr)
Viet‐Nam (vn) => Vietnam (vn)
Brunei Darussalam (bn) => Brunei (bn)
Lao People’s Democratic Republic (la) => Laos (la)
Micronesia, Federated States of (fm) => Federated States of Micronesia (fm)

5 Likes

Thanks for the report :+1: I’ll get these fixed ASAP.

Edit: These (and a few other) country names have now been updated.

3 Likes

Yeah, I always wondered where marlonob got some some of those country names.

1 Like