本文整理汇总了Python中launcher.launcher_config.LauncherConfig.post_load_values方法的典型用法代码示例。如果您正苦于以下问题:Python LauncherConfig.post_load_values方法的具体用法?Python LauncherConfig.post_load_values怎么用?Python LauncherConfig.post_load_values使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类launcher.launcher_config.LauncherConfig
的用法示例。
在下文中一共展示了LauncherConfig.post_load_values方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run_config_or_game
# 需要导入模块: from launcher.launcher_config import LauncherConfig [as 别名]
# 或者: from launcher.launcher_config.LauncherConfig import post_load_values [as 别名]
def run_config_or_game(cls):
config_path = None
archive_path = None
floppy_image_paths = []
cdrom_image_paths = []
config_uuid = None
floppy_extensions = (".adf", ".ipf", ".dms", ".adz")
cdrom_extensions = (".cue", ".iso")
archive_extensions = (".zip", ".lha")
# FIXME: replace argument "parsing" with use of argparse module
# at some point
last_arg = sys.argv[-1]
file_ext = os.path.splitext(last_arg)[-1].lower()
if file_ext == ".fs-uae":
config_path = last_arg
elif file_ext in archive_extensions:
archive_path = last_arg
# elif file_ext in floppy_extensions:
# floppy_image_paths = [last_arg]
elif is_uuid(last_arg):
config_uuid = last_arg.lower()
for arg in sys.argv[1:]:
if not arg.startswith("--"):
_, ext = os.path.splitext(arg)
if ext in floppy_extensions:
floppy_image_paths.append(arg)
elif ext in cdrom_extensions:
cdrom_image_paths.append(arg)
if config_path:
print("[STARTUP] Config path given:", config_path)
if not os.path.exists(config_path):
print("[STARTUP] Config path does not exist", file=sys.stderr)
return True
LauncherConfig.load_file(config_path)
fsgs.config.add_from_argv()
return cls.run_config_directly()
if archive_path:
print("[STARTUP] Archive path given:", archive_path)
if not os.path.exists(archive_path):
print("[STARTUP] Archive path does not exist", file=sys.stderr)
return True
archive = Archive(os.path.realpath(archive_path))
archive_name = os.path.basename(archive_path)
# We want to exclude pure directory entries when checking for
# archives with only floppies.
arc_files = [
x for x in archive.list_files() if not x.endswith("/")
]
if all(
map(lambda f: f.lower().endswith(floppy_extensions), arc_files)
):
print("[STARTUP] Archive contains floppy disk images only")
floppy_image_paths = arc_files
else:
if cls.auto_detect_game:
# FIXME: Could also do this for floppy file archives.
archive_util = ArchiveUtil(archive_path)
archive_uuid = archive_util.create_variant_uuid()
print(
"[STARTUP] Try auto-detecting variant, uuid =",
archive_uuid,
)
if fsgs.load_game_variant(archive_uuid):
print("[STARTUP] Auto-detected variant", archive_uuid)
print("[STARTUP] Adding archive files to file index")
for archive_file in archive.list_files():
stream = archive.open(archive_file)
data = stream.read()
size = len(data)
sha1 = hashlib.sha1(data).hexdigest()
FileDatabase.add_static_file(
archive_file, size=size, sha1=sha1
)
fsgs.config.add_from_argv()
fsgs.config.set("__config_name", archive_name)
LauncherConfig.post_load_values(fsgs.config)
return cls.run_config_directly()
values = whdload.generate_config_for_archive(archive_path)
values["hard_drive_0"] = archive_path
values.update(fsgs.config.config_from_argv())
# archive_name, archive_ext = os.path.splitext(archive_name)
values["__config_name"] = archive_name
return cls.run_config_directly_with_values(values)
if floppy_image_paths:
enum_paths = tuple(enumerate(floppy_image_paths))
values = {}
values.update(fsgs.config.config_from_argv())
max_drives = int(values.get("floppy_drive_count", "4"))
values.update(
{
"floppy_drive_{0}".format(k): v
for k, v in enum_paths[:max_drives]
}
)
#.........这里部分代码省略.........
示例2: run_config_or_game
# 需要导入模块: from launcher.launcher_config import LauncherConfig [as 别名]
# 或者: from launcher.launcher_config.LauncherConfig import post_load_values [as 别名]
def run_config_or_game(cls):
config_path = None
archive_path = None
floppy_image_paths = []
cdrom_image_paths = []
config_uuid = None
floppy_exts = (".adf", ".ipf", ".dms", ".adz")
cdrom_exts = (".cue", ".iso")
archive_exts = (".zip", ".lha")
# FIXME: replace argument "parsing" with use of argparse module
# at some point
last_arg = sys.argv[-1]
file_ext = os.path.splitext(last_arg)[-1].lower()
if file_ext == ".fs-uae":
config_path = last_arg
elif file_ext in archive_exts:
archive_path = last_arg
# elif file_ext in floppy_exts:
# floppy_image_paths = [last_arg]
elif is_uuid(last_arg):
config_uuid = last_arg.lower()
for arg in sys.argv[1:]:
if not arg.startswith("--"):
_, ext = os.path.splitext(arg)
if ext in floppy_exts:
floppy_image_paths.append(arg)
elif ext in cdrom_exts:
cdrom_image_paths.append(arg)
if config_path:
print("config path given:", config_path)
if not os.path.exists(config_path):
print("config path does not exist", file=sys.stderr)
return True
LauncherConfig.load_file(config_path)
fsgs.config.add_from_argv()
return cls.run_config_directly()
if archive_path:
print("archive path given:", archive_path)
if not os.path.exists(archive_path):
print("archive path does not exist", file=sys.stderr)
return True
archive = Archive(os.path.realpath(archive_path))
# We want to exclude pure directory entries when checking for
# archives with only floppies.
arc_files = [x for x in archive.list_files() if not x.endswith("/")]
if all(map(lambda f: f.lower().endswith(floppy_exts), arc_files)):
print("archive contains floppy disk images only")
floppy_image_paths = arc_files
else:
values = HardDriveGroup.generate_config_for_archive(
archive_path)
values["hard_drive_0"] = archive_path
values.update(fsgs.config.config_from_argv())
return cls.run_config_directly_with_values(values)
if floppy_image_paths:
enum_paths = tuple(enumerate(floppy_image_paths))
values = {}
values.update(fsgs.config.config_from_argv())
max_drives = int(values.get("floppy_drive_count", "4"))
values.update({"floppy_drive_{0}".format(k): v
for k, v in enum_paths[:max_drives]})
values.update({"floppy_image_{0}".format(k): v
for k, v in enum_paths[:20]})
return cls.run_config_directly_with_values(values)
if cdrom_image_paths:
enum_paths = tuple(enumerate(cdrom_image_paths))
values = {"amiga_model": "CD32"}
values.update(fsgs.config.config_from_argv())
max_drives = int(values.get("cdrom_drive_count", "1"))
values.update({"cdrom_drive_{0}".format(k): v
for k, v in enum_paths[:max_drives]})
values.update({"cdrom_image_{0}".format(k): v
for k, v in enum_paths[:20]})
return cls.run_config_directly_with_values(values)
if config_uuid:
print("config uuid given:", config_uuid)
variant_uuid = config_uuid
# values = fsgs.game.set_from_variant_uuid(variant_uuid)
if fsgs.load_game_variant(variant_uuid):
print("loaded variant")
else:
print("could not load variant, try to load game")
game_uuid = config_uuid
variant_uuid = fsgs.find_preferred_game_variant(game_uuid)
print("preferred variant:", variant_uuid)
fsgs.load_game_variant(variant_uuid)
fsgs.config.add_from_argv()
LauncherConfig.post_load_values(fsgs.config)
return cls.run_config_directly()
示例3: run_config_directly_with_values
# 需要导入模块: from launcher.launcher_config import LauncherConfig [as 别名]
# 或者: from launcher.launcher_config.LauncherConfig import post_load_values [as 别名]
def run_config_directly_with_values(cls, values):
LauncherConfig.load(values)
LauncherConfig.post_load_values(values)
return cls.run_config_directly()