diff options
| -rw-r--r-- | gamechestcli/gamechest/cliactions/install.py | 3 | ||||
| -rw-r--r-- | gamechestcli/gamechest/cliactions/remove.py | 3 | ||||
| -rw-r--r-- | gamechestcli/gamechest/gamedb.py | 19 | ||||
| -rw-r--r-- | gamechestcli/gamechest/statusdb.py | 6 | 
4 files changed, 17 insertions, 14 deletions
diff --git a/gamechestcli/gamechest/cliactions/install.py b/gamechestcli/gamechest/cliactions/install.py index 9d55883..ed2437f 100644 --- a/gamechestcli/gamechest/cliactions/install.py +++ b/gamechestcli/gamechest/cliactions/install.py @@ -16,7 +16,8 @@ def install_game(status_db, game_info):  def install(game_id): -    game_info = gamedb.get_game_info(game_id) +    game_db = gamdb.GameDB() +    game_info = game_db.get_game_info(game_id)      status_db = StatusDB()      if status_db.is_installed(game_info):          # games is already installed diff --git a/gamechestcli/gamechest/cliactions/remove.py b/gamechestcli/gamechest/cliactions/remove.py index 2024b4b..1668e63 100644 --- a/gamechestcli/gamechest/cliactions/remove.py +++ b/gamechestcli/gamechest/cliactions/remove.py @@ -23,7 +23,8 @@ def remove_game(status_db, game_info):  def remove(game_id): -    game_info = gamedb.get_game_info(game_id) +    game_db = gamdb.GameDB() +    game_info = game_db.get_game_info(game_id)      status_db = StatusDB()      if status_db.is_installed(game_info):          remove_game(status_db, game_info) diff --git a/gamechestcli/gamechest/gamedb.py b/gamechestcli/gamechest/gamedb.py index 1e3967c..d932438 100644 --- a/gamechestcli/gamechest/gamedb.py +++ b/gamechestcli/gamechest/gamedb.py @@ -3,14 +3,15 @@ import yaml  from . import paths -def load_games_database(): -    database_path = paths.get_games_database_path() -    with open(database_path, 'rb') as fdin: -        return yaml.safe_load(fdin) +class GameDB: +    def __init__(self): +        database_path = paths.get_games_database_path() +        with open(database_path, 'rb') as fdin: +            self.db = yaml.safe_load(fdin) -def get_game_info(game_id): -    db = load_games_database() -    return next(game_info -                for game_info in db['games'] -                if game_info['id'] == game_id) + +    def get_game_info(self, game_id): +        return next(game_info +                    for game_info in self.db['games'] +                    if game_info['id'] == game_id) diff --git a/gamechestcli/gamechest/statusdb.py b/gamechestcli/gamechest/statusdb.py index a010206..a41fe32 100644 --- a/gamechestcli/gamechest/statusdb.py +++ b/gamechestcli/gamechest/statusdb.py @@ -43,7 +43,7 @@ class StatusDB:                       (game_info['id'], ))              .fetchone()          ) -        with cursor: +        with self.conn:              if row is None:                  cursor.execute('''                      INSERT INTO status @@ -77,9 +77,9 @@ class StatusDB:              #return False              raise ValueError('Game not found')          version_installed = row[0] -        return f'{game_id}_v{version}' +        return f'{game_id}_v{version_installed}' -    def unset_installed(self, game_info): +    def set_uninstalled(self, game_info):          return self.set_installed(game_info, installed=False)      def __enter__(self):  | 
