Claudio Ortolina
fa0be0d740
Use fallback cover when not found
2024-10-07 10:28:49 +01:00
Claudio Ortolina
be9dc37ed5
Use long labels for formats in stats page
2024-10-07 10:04:31 +01:00
Claudio Ortolina
11a8149bcc
Store MusicBrainz release group data on records
2024-10-07 08:36:56 +01:00
Claudio Ortolina
2c3babdf13
Normalize music_brainz -> musicbrainz spell
2024-10-07 08:27:47 +01:00
Claudio Ortolina
3934fe1fb7
Update example in get_release_group/1
2024-10-07 08:23:21 +01:00
Claudio Ortolina
a72236449d
Extract musicbrainz behaviour and impl
2024-10-05 20:30:18 +01:00
Claudio Ortolina
6a1803ea06
Extract record types for readability
2024-10-03 18:51:05 +01:00
Claudio Ortolina
e7fc335251
Correctly return 404s in /images endpoint
2024-10-03 16:14:27 +01:00
Claudio Ortolina
8e881fb546
Fix missing artist names in record list
2024-10-03 13:18:38 +01:00
Claudio Ortolina
ecce630ae4
Setup Sentry
2024-10-03 10:11:04 +01:00
Claudio Ortolina
62d792a244
Show record count by format in stats dashboard
2024-10-02 21:26:21 +01:00
Claudio Ortolina
1e0d5486e0
Rename image* to cover*
2024-10-02 16:33:42 +01:00
Claudio Ortolina
fb978406cd
Remove year from records
2024-10-02 14:32:27 +01:00
Claudio Ortolina
024d95da7c
Use release instead of year
2024-10-02 14:22:22 +01:00
Claudio Ortolina
a3eaaef9d2
Move release group assembling logic into MB module
2024-10-01 17:22:31 +01:00
Claudio Ortolina
82b1f12f99
Avoid loading image-related fields when not necessary
...
Image data and url are only necessary when loading the image, which is
done exclusively via the /images endpoint. Most other read queries can
safely exclude them, and rely only on the hash as a cache key.
2024-10-01 12:26:27 +01:00
Claudio Ortolina
9b7429dd9f
Store image hashes in the db - part 2
2024-09-30 20:20:32 +01:00
Claudio Ortolina
180224d381
Store image hashes in the db - part 1
2024-09-30 20:09:32 +01:00
Claudio Ortolina
039ba95a60
Improve home page stats
2024-09-29 17:21:48 +01:00
Claudio Ortolina
64ea8fe3fa
Extend import to support choosing format
2024-09-28 20:23:22 +01:00
Claudio Ortolina
82e5962c74
Add record format (defaulting to CD)
2024-09-28 19:16:15 +01:00
Claudio Ortolina
7dec0309b5
Setup fly.io deployment
2024-09-27 19:38:17 +01:00
Claudio Ortolina
ae45ab44df
Can search and paginate records
2024-09-27 09:46:45 +01:00
Claudio Ortolina
95164cd977
Make search match all artists attribute
...
Ignores the fact that artists is a JSON structure - just treats it as a
giant piece of text.
2024-09-26 16:32:01 +01:00
Claudio Ortolina
f6d2bcf3fd
Add function to search for record
2024-09-24 22:49:40 +01:00
Claudio Ortolina
d3ea26ed8f
Improve importing visual feedback
2024-09-24 18:33:39 +01:00
Claudio Ortolina
31d74fde34
Handle importing errors
2024-09-24 18:33:16 +01:00
Claudio Ortolina
bcb70c9e1b
Store artists when importing a record
2024-09-24 09:40:52 +01:00
Claudio Ortolina
b6ae022a6a
Move obsidian-related imports under Obsidian
2024-09-24 09:21:13 +01:00
Claudio Ortolina
d97f21a8ef
Can search and import records
...
Requires refactor and cleanup, along with integration tests
2024-09-23 20:27:40 +01:00
Claudio Ortolina
878a7d7326
Clean up importer and music_brainz modules
...
- Add missing docs
- Move around existing information for better documentation
- Rename some functions for consistency
2024-09-23 09:42:51 +01:00
Claudio Ortolina
15bc1816cf
Add function to search the MusicBrainz API
2024-09-22 21:01:38 +01:00
Claudio Ortolina
5e97f72f2a
Sort records by artist, then title
2024-09-22 16:54:38 +01:00
Claudio Ortolina
99960832c8
Adds record pagination
2024-09-20 10:05:49 +01:00
Claudio Ortolina
5623a5239f
Resize cover images to 400x400
2024-09-19 13:34:26 +01:00
Claudio Ortolina
74e7d27ba4
Run the image import sequentially
...
Changed this for debug as many images are huge and were tripping the
logic off - the whole importer logic needs to be
restructured for better parallelism.
2024-09-16 14:46:16 +01:00
Claudio Ortolina
04755eb5fe
Removes boilerplate docs
2024-09-16 14:45:59 +01:00
Claudio Ortolina
6ac5a88c47
Raw importer for all cover images
2024-09-16 12:30:54 +01:00
Claudio Ortolina
afc1802399
Serve local cover images
2024-09-16 09:50:07 +01:00
Claudio Ortolina
4d17790cbe
Main list orders by the main artist
2024-09-15 20:59:30 +01:00
Claudio Ortolina
90e8022a77
Fix incorrect cast
2024-09-15 20:32:10 +01:00
Claudio Ortolina
ce1ecf06a7
Import artists on top of existing records
2024-09-15 20:31:13 +01:00
Claudio Ortolina
affa7a007e
Simplify data model
...
Artists can be embedded inside records - given the projected size of the
dataset (a few 1000s in the worst case) relationships can be built in
memory without the need to be denormalized into separate tables.
2024-09-15 20:29:52 +01:00
Claudio Ortolina
988d311fef
Add artist importer
2024-09-15 20:28:39 +01:00
Claudio Ortolina
e3ff0228cd
Load artists when showing a record
2024-09-15 20:28:39 +01:00
Claudio Ortolina
99d87a5596
Add http client dependency
2024-09-15 20:28:39 +01:00
Claudio Ortolina
e1ab16a5fd
Limit the amount of records in the list
...
Needs to be replaced with pagination
2024-09-15 20:28:38 +01:00
Claudio Ortolina
705fd665d2
Formatter pass
2024-09-15 20:28:37 +01:00
Claudio Ortolina
170f195aae
Fix edge cases with parser
...
- Remove front_matter dependency, and use a hand-rolled simpler parser
which is suitable for the data to parse (which is well-formed).
- Fix a couple of edge cases with years and titles with commas
2024-09-15 20:28:37 +01:00
Claudio Ortolina
2c42f3ea32
Can parse an obsidian entry to retrieve correct metadata
2024-09-15 20:28:37 +01:00