mirror of
https://github.com/lutris/lutris
synced 2024-09-18 15:22:27 +00:00
Add service for ScummVM
This commit is contained in:
parent
e99d2a7094
commit
d2734a3d5a
|
@ -5,8 +5,6 @@ import subprocess
|
|||
from lutris import settings
|
||||
from lutris.runners.runner import Runner
|
||||
|
||||
SCUMMVM_CONFIG_FILE = os.path.join(os.path.expanduser("~"), ".scummvmrc")
|
||||
|
||||
|
||||
class scummvm(Runner):
|
||||
description = "Runs various 2D point-and-click adventure games."
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from importlib import import_module
|
||||
from lutris.settings import read_setting
|
||||
|
||||
__all__ = ['steam', 'winesteam', 'xdg']
|
||||
__all__ = ['steam', 'winesteam', 'xdg', 'scummvm']
|
||||
|
||||
|
||||
def import_service(name):
|
||||
|
|
51
lutris/services/scummvm.py
Normal file
51
lutris/services/scummvm.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
import re
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
from lutris import pga
|
||||
from lutris.util.log import logger
|
||||
from lutris.util.strings import slugify
|
||||
from lutris.config import make_game_config_id, LutrisConfig
|
||||
|
||||
NAME = "ScummVM"
|
||||
SCUMMVM_CONFIG_FILE = os.path.join(os.path.expanduser("~/.config/scummvm"), "scummvm.ini")
|
||||
|
||||
|
||||
def mark_as_installed(scummvm_id, name, path):
|
||||
"""Add scummvm from the auto-import"""
|
||||
logger.info("Setting %s as installed" % name)
|
||||
slug = slugify(name)
|
||||
config_id = make_game_config_id(slug)
|
||||
game_id = pga.add_or_update(
|
||||
name=name,
|
||||
runner='scummvm',
|
||||
slug=slug,
|
||||
installed=1,
|
||||
configpath=config_id,
|
||||
directory=path
|
||||
)
|
||||
config = LutrisConfig(
|
||||
runner_slug='scummvm',
|
||||
game_config_id=config_id
|
||||
)
|
||||
config.raw_game_config.update({
|
||||
'game_id': scummvm_id,
|
||||
'path': path
|
||||
})
|
||||
config.save()
|
||||
return game_id
|
||||
|
||||
|
||||
def sync_with_lutris():
|
||||
if not os.path.exists(SCUMMVM_CONFIG_FILE):
|
||||
logger.info("No ScummVM config found")
|
||||
return
|
||||
config = ConfigParser()
|
||||
config.read(SCUMMVM_CONFIG_FILE)
|
||||
config_sections = config.sections()
|
||||
for section in config_sections:
|
||||
if section == 'scummvm':
|
||||
continue
|
||||
scummvm_id = section
|
||||
name = re.split(' \(.*\)$', config[section]["description"])[0]
|
||||
path = config[section]['path']
|
||||
mark_as_installed(scummvm_id, name, path)
|
Loading…
Reference in a new issue