Skip to content

Commit 16361b6

Browse files
authored
merge: Add provider for ototoy.jp
Implemented as an HTML scraper, introducing @b-fuze/deno-dom as HTML DOM parsing library for Harmony. While OTOTOY has a mobile app (https://ototoy.app/), and we could theoretically utilize its internal API to enumerate tracks (`https://api.ototoy.jp/app/list/tracks/in_album/<album_id>`), with the API we would lose: * Support for multiple artists * Release date * Label information I tried looking into the requests the app makes, and I don't think it ever fetches that information. Since Harmony has to maintain backwards compatibility with old release snapshots, we simply cache the JSON produced from the scraping. So the DOM extractor could change over time as long as it produces the same JSON structure. Unfortunately, there's no: * GTIN support * Available regions (Not exclusively Japan) Also, there *are* technically URLs for tracks. For example the track for https://ototoy.jp/_/default/p/3016055 is available at https://ototoy.jp/opus/index.php/19511684, but it's just a redirect back to the album page, so I didn't figure it'd be worth adding.
2 parents a3531d3 + 7b150b5 commit 16361b6

File tree

18 files changed

+3336
-0
lines changed

18 files changed

+3336
-0
lines changed

deno.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
},
1313
"imports": {
1414
"@/": "./",
15+
"@b-fuze/deno-dom": "jsr:@b-fuze/deno-dom@^0.1.56",
1516
"@deno/gfm": "jsr:@deno/gfm@^0.8.0",
1617
"@kellnerd/musicbrainz": "jsr:@kellnerd/musicbrainz@^0.4.1",
1718
"@std/collections": "jsr:@std/collections@^1.0.10",

0 commit comments

Comments
 (0)