Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add steam importer #913

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

yao-yun
Copy link

@yao-yun yao-yun commented Feb 9, 2025

Resolves #910. WIP.

@yao-yun yao-yun force-pushed the feat/add_steam_importer branch from 8ae9c79 to 55f78ef Compare February 10, 2025 14:20
@yao-yun yao-yun marked this pull request as ready for review February 10, 2025 14:32
@yao-yun
Copy link
Author

yao-yun commented Feb 10, 2025

Imgur
Seems working now, though there are a few problems to resolve:

  • better way of handling steam's tz-naive timestamp
    • maybe allow user to submit a 'default' timezone?
  • handle the 0 epoch timestamp when a game is owned but never played
    not automatically solvable unless purchase infomation is available, but that is way beyond the scope.
  • let users choose whether to include free games, played free games, or no free games
  • the html form need fix
  • find a way of getting time to finish data
    I think it is better to wait until we have that info in db rather than freshly fetching from igdb each time of importing. That will also introduce a lot of unnecessary delay due to the rate limit of igdb.
  • allow select a subset of shelves to import to (e.g. finished only)

@yao-yun yao-yun changed the title WIP: add steam importer feat: add steam importer Feb 10, 2025
feat: add apikey/steamid validating
feat: add steam import section to users/data template
chore: add to urlpatterns
fix: parse api response correctly
fix: get user visibility setting correctly
fix: forcing UTC time for steam's tz-naive timestamp. Dirty.
fix: handle network error during validating apikey/steamid in views.data
refact: return generator when fetching wishlist/owned games
refact: add logs and improving typing
refact: remove ImportStatus
@yao-yun yao-yun force-pushed the feat/add_steam_importer branch from 9679205 to 7978291 Compare February 11, 2025 19:31
@yao-yun
Copy link
Author

yao-yun commented Feb 11, 2025

Looks good to me now. The users/views/data part is bit messy though for all those options and validations @alphatownsman

One question on logging: I noticed other importers use loguru, but I couldn't find where the logs go during testing. Since I needed them I used logging. Is there a specific reason why we use loguru here, and should I align with that?

Besides in the 'new merge experience' of GitHub I am told as below, while the classic one says its fine, and it seems that there's no merge commits in my branch. Does anyone know why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Wishlist
Development

Successfully merging this pull request may close these issues.

[Request] Add an importer for Steam and more platforms
1 participant