Commit Graph

55 Commits

Author SHA1 Message Date
Felipe Martin 2debcd8468
feat: added playstation 5 provider (#16)
* replaced goefix with a fork

* feat: playstation-5 provider

* Updated README
2023-03-05 20:37:38 +01:00
Felipe Martin d8469d4eea updated actions 2023-02-19 22:59:11 +01:00
Felipe Martin d9b2b4155b update go to 1.19 2023-02-19 22:54:16 +01:00
Felipe Martin 0dbbf6ed69 fixed playstation 4 provider 2023-02-19 22:51:56 +01:00
Felipe Martin Garcia 4053a18316
Xbox Game Bar support (#20)
* feat: xbox game bar support with exif handlin
2022-03-27 23:37:00 +02:00
Felipe M 9ee5507d1f
refactor: removed nintendo switch provider
Nintendo now provides an easy way of getting Switch
screenshots directly to the computer using an USB connection
between the console and the computer.

For more information check: https://en-americas-support.nintendo.com/app/answers/detail/a_id/53664/~/how-to-transfer-screenshots-and-video-captures-to-a-computer-via-a-usb-cable
2022-03-13 20:42:21 +01:00
Felipe Martin Garcia 02f8f05538
feat: cache support (#19)
- Added file and memory cache handlers
- Steam provider now uses a cache to store the app list for 24h

Closes #12
2022-01-30 19:25:16 +01:00
Felipe M 967a03d394
feat: improved logging with logrus
Propagated a logrus.Logger/Entry along for the processor, registry and
providers to use for events that may not require to stop processing but
are useful to know otherwise.

Changed some functions to return errors instead of failing with a logger
trying to centralice the logging or returning of the main failing points
in the main components of the application.

Closes #13
2022-01-27 18:31:04 +01:00
Felipe M cdd9ce1301
fix: nil-pointer error 2022-01-27 00:21:37 +01:00
Felipe M 61f6851e33
feat: concurrent processing
closes #14
2022-01-27 00:20:31 +01:00
Felipe M c03232381c
refactor: working on new version
- Refactored all providers, all following the same interface
- Added the registry component where all providers get initializated
- Added the processor component in charge of processing
  screenshots/covers
- Split configuration into Options and ProviderOptions
- Refactored the workaround for the covers, now the game provide a
  CoverURL and the processor decides to download it or not
- Made the providers folder hierarchy more clear, and moved helper
  functions to other files for sanity
- Simplified CLI
2022-01-23 21:47:18 +01:00
Felipe M b608e9e53e
feat: updated dependencies 2022-01-23 18:36:52 +01:00
Felipe M 3109f186b9
chore: moved test file 2022-01-23 18:36:17 +01:00
Felipe M fcaff8cad1
chore: added logger to switch provider 2022-01-23 18:33:23 +01:00
Felipe M 387c4ea86b
Updated README 2021-05-16 20:13:32 +02:00
Felipe M c9dfab39ff
Added goreleaser configuration 2021-05-16 20:10:42 +02:00
Felipe M 62241ff857
Comments 2021-05-16 15:46:25 +02:00
Felipe M d27e4947ae
Created internal/cmd folders 2021-05-08 11:37:52 +02:00
Felipe M ef03e13e86
Typo 2021-04-12 22:43:10 +02:00
Felipe M 7f3d2564db
Update README 2021-02-16 13:30:25 +01:00
Felipe M befcc3376e
Replaced arguments with CLIOptions struct
This is a way more convenient way for the underlying providers to
access the input in which the software was called. Having the input
path in providers that already discover path will allow users to
override paths easily, and this way we could also add more flags that
some providers would need and others ignore without changuing function calls.
2021-02-16 13:28:43 +01:00
Felipe M 18f006bafe
PlayStation 4 Provider improvements
* Using EXIF data for screenshots which is more accurate and doesn't
require parsing the filename (which not always contains the date)
* Relying on the date parsing for videos for now since I haven't found
a game that didn't have the datetime on the video filename. This could
change in the future.
2021-01-31 13:51:49 +01:00
Felipe M 0b6cedb658
retroarch: Download covers from libretro 2021-01-14 23:07:50 +01:00
Felipe M ce81ba63b3
bugfix: Close tempfile after writting 2021-01-14 23:07:07 +01:00
Felipe M 2b28de7403
RetroArch: Also rename RetroAchievement screenshots 2021-01-14 22:44:33 +01:00
Felipe M 3ec1042ef5
Create folders only if there are screenshots for the game 2021-01-14 20:32:36 +01:00
Felipe M 5d814b8539
RetroArch support
- Added the retroarch provider
- Fixed some `path.X` references (moved to filepath)

Note: In order to use RetroArch specific settings on the app are
required. Read the top comment on the provider module to know how
to start.
2021-01-14 20:28:37 +01:00
Felipe M ffa6db5c28 switch: Added platform name as constant 2021-01-05 23:17:47 +01:00
Felipe M f5991dfd21 Base PlayStation 4 support
This only add support for those screenshots that contain
a datetime in their name, skipping otherwise.

Closes #7
2021-01-05 23:17:36 +01:00
Felipe M 1a29fb3c78 Fix: Remove downloadCovers switch reference 2021-01-05 19:17:52 +01:00
Felipe M 0764d40e96 Updated README with cover mention 2021-01-05 19:11:35 +01:00
Felipe M 55b884e17f Only store covers if there's one 2021-01-05 18:22:23 +01:00
Felipe M fa7016eb61 Moved Download function to an helper module 2021-01-05 18:22:04 +01:00
Felipe M 0b33e24472 Windows: Using slugify names on errors
On windows filesystems no special characters can be used on path routes,
so when we fail to create (MkdirAll) the path for a certain
game and a failure happens, we use a slugified version of the name
instead.
2021-01-05 16:55:31 +01:00
Felipe M ae6f7372a2 Download steam game covers (optional flag) 2021-01-05 15:19:21 +01:00
Felipe M ae632293f9 Nintendo Switch: Used new JSON file 2021-01-03 22:29:03 +01:00
Felipe Martin 3a698b63f0
Added tests for file helpers 2020-12-03 21:08:45 +01:00
Felipe Martin aa007eb2da
Added alternative Flatpak Minecraft path
Closes #8
2020-12-01 18:14:09 +01:00
Felipe Martin c5341a7e5b
Typo 2020-11-29 18:23:08 +01:00
Felipe Martin 0b1f6d3231
Nintendo Switch Provider [WIP]
#2
2020-11-19 23:19:45 +01:00
Felipe Martin e3c7da17ce
games.Game.ID string (from uint64) 2020-11-19 23:05:14 +01:00
Felipe Martin ba5b373fa0
Helper method for HTTP requests 2020-11-19 20:27:37 +01:00
Felipe Martin 5d64f5d035
Golang have switch..case 2020-11-15 22:37:40 +01:00
Felipe Martin dcc450d583
dry-run no longer creates directories
Closes #5
2020-11-14 23:30:57 +01:00
Felipe Martin 6ac8d9e684
Updated README.md 2020-11-14 12:00:32 +01:00
Felipe Martin 0d2a59a474
Update issue templates 2020-11-14 11:59:40 +01:00
Felipe Martin 31c46a3e5d
path.Join -> path/filepath.Join 2020-11-14 11:59:40 +01:00
Felipe Martin 56b2faf88a
Steam: Cross-Platform support 2020-11-14 11:59:37 +01:00
Felipe Martin 602f00d359
Updated README 2020-11-13 12:49:20 +01:00
Felipe Martin 8153b81cba
Added Minecraft provider
Closes #1
2020-11-13 12:47:59 +01:00