mirror of
https://github.com/lutris/lutris
synced 2024-10-04 14:59:37 +00:00
Add custom message for N/A files
This commit is contained in:
parent
34bb62c8c1
commit
ad33eacb8c
|
@ -13,8 +13,11 @@ The ``uri`` key is equivalent to passing only a string to the installer and the
|
|||
``filename`` key will be used to give the local copy another name.
|
||||
|
||||
If the game contains copyrighted files that cannot be redistributed, the value
|
||||
should be ``N\A``. When the installer encounter this value, it will prompt the
|
||||
user for the location of the file.
|
||||
should begin with ``N/A``. When the installer encounter this value, it will
|
||||
prompt the user for the location of the file. To indicate to the user what file
|
||||
to select, append a message to ``N/A`` like this:
|
||||
``N/A:Please select the installer for this game``
|
||||
|
||||
|
||||
If the game makes use of (Windows) Steam data, the value should be
|
||||
``$WINESTEAM:appid:path/to/data``. This will check that the data is available
|
||||
|
@ -118,6 +121,22 @@ needed for games that ships in a zip file which does not retain file permissions
|
|||
|
||||
Example: ``chmodx: $GAMEDIR/game_binary``
|
||||
|
||||
Running a task provided by a runner
|
||||
-----------------------------------
|
||||
|
||||
Some actions are specific to some runners, you can call them with th ``task``
|
||||
command. You must at least provide the ``name`` parameter which is the function
|
||||
that will be called. Other parameters depend on the task being called.
|
||||
|
||||
Currently, the following tasks are implemented:
|
||||
|
||||
wine: ``wineexec`` Runs a windows executable. Parameters are ``executable``,
|
||||
``args`` (optional arguments passed to the executable), ``prefix`` (optional
|
||||
WINEPREFIX).
|
||||
|
||||
wine: ``winetricks`` Runs winetricks with the ``app`` argument. ``prefix`` is
|
||||
an optional WINEPREFIX path.
|
||||
|
||||
|
||||
Calling the installer
|
||||
=====================
|
||||
|
|
|
@ -191,9 +191,14 @@ class ScriptInterpreter(object):
|
|||
# Setup destination path
|
||||
dest_file = os.path.join(self.download_cache_path, filename)
|
||||
|
||||
if file_uri == "N/A":
|
||||
if file_uri.startswith("N/A"):
|
||||
#Ask the user where is located the file
|
||||
file_uri = self.parent.ask_user_for_file()
|
||||
parts = file_uri.split(":", 1)
|
||||
if len(parts) == 2:
|
||||
message = parts[1]
|
||||
else:
|
||||
message = file_id
|
||||
file_uri = self.parent.ask_user_for_file(message)
|
||||
if not file_uri:
|
||||
raise ScriptingError(
|
||||
"Can't continue installation without file", file_id
|
||||
|
@ -599,8 +604,8 @@ class InstallerDialog(Gtk.Dialog):
|
|||
button.set_sensitive(False)
|
||||
self.interpreter.iter_game_files()
|
||||
|
||||
def ask_user_for_file(self):
|
||||
dlg = FileDialog()
|
||||
def ask_user_for_file(self, message=None):
|
||||
dlg = FileDialog(message)
|
||||
filename = getattr(dlg, 'filename', '')
|
||||
return filename
|
||||
|
||||
|
|
Loading…
Reference in a new issue