Commit Graph

63 Commits

Author SHA1 Message Date
Georges-Antoine Assi
463bb27ea9 Add config to store media on disk 2025-10-24 16:04:54 -04:00
Georges-Antoine Assi
9fa15d20f0 totally refactor scan types 2025-10-23 16:57:40 -04:00
Georges-Antoine Assi
5aa344b3ce select media format for scan 2025-10-22 19:08:42 -04:00
Georges-Antoine Assi
290162e56b import media assets 2025-10-22 12:44:58 -04:00
Georges-Antoine Assi
3cfc52234a start work on gamelist.xml extraction 2025-10-16 23:16:39 -04:00
Georges-Antoine Assi
38006e7aa0 [ROMM-2497] Add button to delete manual 2025-10-07 10:21:02 -04:00
Georges-Antoine Assi
5d9119ebe1 [ROMM-2467] Uncompress gzipped images 2025-09-21 16:06:45 -04:00
Georges-Antoine Assi
bf631cfa74 fix updating image preview + force webp 2025-09-05 09:42:25 -04:00
Michael Manganiello
e4e3928d1b misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Georges-Antoine Assi
45edc8fcc0 use stores for loading global data 2025-08-28 09:48:52 -04:00
Georges-Antoine Assi
586ce0ef30 Craete image to webp task 2025-08-27 22:12:12 -04:00
Georges-Antoine Assi
a8dc3d3e8d Await .file_exists() when storing badges 2025-08-17 17:43:19 -04:00
Georges-Antoine Assi
81a04e4ab4 Always hash the largest file in compressed multi file roms 2025-08-13 13:43:07 -04:00
Georges-Antoine Assi
4728e5da67 [ROMM-2247] Return early if cover write fails 2025-08-10 14:51:06 -04:00
Georges-Antoine Assi
8ce943a514 use fastapi status 2025-08-02 22:17:07 -04:00
Georges-Antoine Assi
2acae8c624 swap ordering of store_artowrk 2025-07-18 23:45:18 -04:00
Georges-Antoine Assi
73545ffa97 [HOTFIX] Fix uploading cover art manually 2025-07-18 23:32:17 -04:00
Georges-Antoine Assi
51652d5084 make all path stuff async 2025-07-18 10:53:55 -04:00
Georges-Antoine Assi
0fa8d215a1 rename function 2025-07-17 21:35:12 -04:00
Georges-Antoine Assi
0df4eb1985 fix some aggressive usage 2025-07-17 21:20:02 -04:00
Georges-Antoine Assi
48eab4c957 fix a bunch of tests 2025-07-17 15:48:46 -04:00
Georges-Antoine Assi
0d95735351 finish updating endpoints 2025-07-17 14:44:13 -04:00
Georges-Antoine Assi
8e43128500 complete resources handler 2025-07-17 13:13:43 -04:00
Georges-Antoine Assi
bf9b4b3465 progress on resources handler 2025-07-17 13:00:37 -04:00
Georges-Antoine Assi
8098d7199f complete resournces handler 2025-07-17 12:38:40 -04:00
Georges-Antoine Assi
5b80e0ca39 Calculate hashes before fetching metadata 2025-06-12 20:55:49 -04:00
Georges-Antoine Assi
fd18d8e1c9 small tweaks from copilot comments 2025-06-06 12:12:38 -04:00
Georges-Antoine Assi
8c817c7f4b stop RA from crashing when not available 2025-06-05 11:44:47 -04:00
Georges-Antoine Assi
b9b6e17fd0 Merge pull request #1891 from ianfhunter/patch-1
During a scan, if an image fails to be read, the scan is aborted
2025-05-15 09:33:00 -04:00
Georges-Antoine Assi
9f27c81f73 run trunk check 2025-05-15 09:30:11 -04:00
Ian Hunter
6a52d43169 Update resources_handler.py 2025-05-15 12:28:15 +01:00
zurdi
e270889aa5 Merge branch 'fix/reduce-ram-usage' into feature/retroachievements 2025-05-09 17:02:04 +00:00
zurdi
14761c2c83 refactor: enhance logging with highlighted output for improved readability 2025-05-09 09:05:59 +00:00
zurdi
e17f6b44de feat: Add RetroAchievements integration and user profile syncing
- Implemented RA hash handling in ROM processing.
- Added functionality to refresh RetroAchievements data for users.
- Updated user model to store RA progression data.
- Created a new component for managing RetroAchievements settings in user profiles.
- Enhanced ROM metadata to include merged RA achievements and badge paths.
- Refactored API calls to accommodate new RA features and removed unused API key handling.
- Updated frontend components to reflect changes in RA metadata and user settings.
- Adjusted Docker configuration for database service naming.
2025-04-22 21:08:10 +00:00
Georges-Antoine Assi
2e3af8bfdd only log image errors during scan 2025-03-29 10:59:57 -04:00
zurdi
0660502f5a feat: screenscraper manual support 2025-02-06 18:53:23 +00:00
zurdi
9ae3b7da6f feat: added manuals to ss migration 2025-02-06 13:49:09 +00:00
Georges-Antoine Assi
55eee458a1 actaully complete backend 2024-12-21 00:37:37 -05:00
Georges-Antoine Assi
3fcce6606c complete updating the endpoints and models 2024-12-20 22:41:56 -05:00
Michael Manganiello
a9ac322618 fix: Correctly resize and save small artwork
The previous implementation was calling `resize_cover_to_small` within
the context manager that was writing the image to the filesystem. This
was causing `PIL` to raise an error because it could not identify the
open and temporarily created file as a valid image.

Instead of saving the original image to the filesystem and then resizing
it, we now open the image in memory, resize it, and then save it to the
filesystem. We also avoid reading the `BytesIO` object twice by saving
small and big images from the same initial `Image` object.

Fixes #1191.
2024-10-12 00:55:06 -03:00
Michael Manganiello
96699a2f1b fix: Catch ProtocolError when writing screenshots/covers 2024-07-26 21:19:18 -03:00
Michael Manganiello
aced1f1ff2 misc: Migrate IGDBBaseHandler to async
Convert `IGDBBaseHandler` methods to be asynchronous, and use an `httpx`
async client, instead of `requests` sync client.

This change also removes the direct dependency with `requests`, as the
project no longer uses it, preferring `httpx` instead.
2024-07-26 21:19:01 -03:00
Michael Manganiello
56066d6765 misc: Migrate filesystem resource handler to async
For filesystem resource handler, `requests` calls have been replaced
with `httpx`, and file I/O has been replaced with `anyio` utils.

The existing approach to save covers and screenshots, by calling
`shutil.copyfileobj` with the raw response is no longer needed. `httpx`
does not provide a file-like object when streaming [1], so there's no
easy drop-in replacement.

However, the applied solution correctly builds the file iteratively, by
consuming the response in chunks.

[1] https://github.com/encode/httpx/discussions/2296
2024-07-24 00:18:17 -03:00
Georges-Antoine Assi
d05a539871 Fix covers deleted when uploading extension other then PNG 2024-07-14 17:30:05 -04:00
zurdi
884e7a35ac fixed re-download lost covers 2024-07-11 08:47:59 +02:00
zurdi
59c2a51a6f added collection cover management 2024-07-03 14:31:17 +02:00
zurdi
7dfbcc9a0b dinamic ratio for small artwork 2024-06-26 19:37:50 +02:00
zurdi
8de804ff27 redesigned select source on match rom dialog 2024-06-20 13:41:46 +02:00
zurdi
8386625f7f bigger small size cover 2024-06-20 11:36:13 +02:00
Georges-Antoine Assi
057fef7ce9 better error handling when image fetch 503 2024-06-19 23:00:56 -04:00