Giter VIP home page Giter VIP logo

protondb-tags's Introduction

ProtonDB-Tags Build Status

This is just a small python script to pull ratings from ProtonDB and import them into your Steam library as tags.

Here is a screenshot which shows how it looks once ran:

Screenshot

Dependencies

This script requires Python 3, you can check your python version with python --version. If your default is Python 2 then you'll need to check with your distro's documentation and install Python 3, then replace all of the below commands with python3 and pip3.

You'll need to install vdf and requests before this can run. You can install them via pip with:

pip install requests vdf

Alternatively you can use the included requirements.txt file:

pip install -r requirements.txt

Running

WARNING: This may clear all of your current tags in Steam. You have been warned!

This can be simply run with:

python ProtonDB-Tags.py

It will also ask before saving the file, so if you want to just test it out theres no real danger of overwriting anything.

By default this will not check the Steam API for native titles. This can be enabled with the --check-native flag. This will add a 1 second wait to each Steam API call, as without this you will get rate-limited. The script will build a cache of these as it runs, so after the first run it will go faster.

You can also specify a custom path to your sharedconfig.vdf with:

python ProtonDB-Tags.py --sharedconfig /path/to/sharedconfig.vdf

The full command line options can be viewed with:

python ProtonDB-Tags.py --help

Contributing

If you run into any issues please attach the output from the script to your issue, along with the sharedconfig.vdf file which was selected.

All feedback is welcome and appreciated! Please make an issue if you have any ideas or feedback, I would love to hear them!

If you would like to make a PR all I ask is that you are also open to feedback on your written code.

Troubleshooting

If you are finding that only some of your Proton compatible games are being categorized try this:

  1. Select all of the uncategorized games in your library
  2. Right click -> Add to -> ProtonDB Ranking: 7 Borked
  3. File -> Exit Steam to force it to write all of your games to the sharedconfig.vdf file
  4. Try running the script again

Please keep in mind that most Linux Native games will not be categorized without the --check-native flag, as ProtonDB doesn't return anything for them.

If you get an error which looks like this:

WARNING: This may clear your current tags on Steam!
Would you like to save sharedconfig.vdf? (y/N)y
Traceback (most recent call last):
  File "ProtonDB-Tags.py", line 220, in 
    main(arguments)
  File "ProtonDB-Tags.py", line 207, in main
    check = input("Would you like to save sharedconfig.vdf? (y/N)")
  File "", line 1, in 
    NameError: name 'y' is not defined

It means you ran the script with python2, please run it with python3. More info about why this error happens can be found here.

If anything is still not working you can open an issue here, or join my Discord server (link is at the top of this README). Please respect the rules of the server if you join!

protondb-tags's People

Contributors

alexruetz avatar corruptcomputer avatar dabura667 avatar indykoning avatar rojikku avatar scotsguy avatar themadprofessor avatar tntexplosivesltd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.