File: check_steam.py

package info (click to toggle)
game-data-packager 87
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 33,392 kB
  • sloc: python: 15,387; sh: 704; ansic: 95; makefile: 50
file content (34 lines) | stat: -rwxr-xr-x 1,205 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/python3
# encoding=utf-8
#
# Copyright © 2015 Alexandre Detiste <alexandre@detiste.be>
# SPDX-License-Identifier: GPL-2.0-or-later

# Usage: _build/run-tool-uninstalled tools/check_steam.py

import json
import os
import urllib.request

from game_data_packager.game import load_games
from game_data_packager.util import AGENT

url = 'https://github.com/SteamDatabase/SteamLinux/raw/master/GAMES.json'
response = urllib.request.urlopen(urllib.request.Request(url,
                                  headers={'User-Agent': AGENT}))
native = json.loads(response.read().decode('utf8'))
native = set(int(id) for id in native.keys())

for shortname, game in load_games(
    datadir=os.environ.get('GDP_BUILDDIR', 'out')
).items():
    for package in game.packages.values():
        steam = package.steam or game.steam
        if not steam:
            continue
        if steam.get('native') and steam.get('id') in native:
            print('correctly tagged as native: %s' % package.name)
        elif steam.get('native'):
            print('extraneously tagged as native: %s' % package.name)
        elif steam.get('id') in native:
            print('should be tagged as native: %s' % package.name)