Commit Graph

54 Commits

Author SHA1 Message Date
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