65 lines
2 KiB
Python
65 lines
2 KiB
Python
# -*- coding: utf-8 -*-
|
|
import pathlib
|
|
from collections import namedtuple
|
|
import profig
|
|
import appdirs
|
|
import os
|
|
|
|
config_dir = pathlib.Path(appdirs.user_config_dir("ED_LRR", ""))
|
|
config_dir.mkdir(parents=True, exist_ok=True)
|
|
config_file = config_dir / "config.ini"
|
|
config_file.touch()
|
|
|
|
config_dir = str(config_dir)
|
|
|
|
cfg = profig.Config(str(config_file), strict=True)
|
|
|
|
cfg.init(
|
|
"history.bodies_url",
|
|
["https://www.edsm.net/dump/bodies.json"],
|
|
"path_list",
|
|
comment="history of bodies.json urls",
|
|
)
|
|
cfg.init(
|
|
"history.systems_url",
|
|
["https://www.edsm.net/dump/systemsWithCoordinates.json"],
|
|
"path_list",
|
|
comment="history of systems.json urls",
|
|
)
|
|
cfg.init(
|
|
"history.bodies_path",
|
|
[os.path.join(config_dir, "data", "bodies.json")],
|
|
"path_list",
|
|
comment="history of bodies.json download paths",
|
|
)
|
|
cfg.init(
|
|
"history.systems_path",
|
|
[os.path.join(config_dir, "data", "systemsWithCoordinates.json")],
|
|
"path_list",
|
|
comment="history of systems.json download paths",
|
|
)
|
|
cfg.init(
|
|
"history.stars_csv_path",
|
|
[os.path.join(config_dir, "data", "stars.csv")],
|
|
"path_list",
|
|
comment="history of paths for stars.csv",
|
|
)
|
|
cfg.init("route.range", 7.56, comment="jump range")
|
|
cfg.init("route.primary", False, comment="only route through primary stars")
|
|
cfg.init("route.mode", "bfs", comment="routing mode")
|
|
cfg.init(
|
|
"route.prune.min_improvement",
|
|
10.0,
|
|
comment="path needs to improve by at least (jump_range*min_improvement) in route.prune.steps",
|
|
)
|
|
cfg.init("route.prune.steps", 5, comment="number of steps before path gets pruned")
|
|
cfg.init("route.greediness", 0.5, comment="A* greediness")
|
|
cfg.init("folders.data_dir", os.path.join(config_dir, "data"), comment="Data directory")
|
|
|
|
cfg.init("GUI.theme", "dark", comment="GUI theme to use")
|
|
|
|
cfg.init("web.port", 3777, comment="Port to bind to")
|
|
cfg.init("web.host", "0.0.0.0", comment="Address to bind to")
|
|
cfg.init("web.debug", False, comment="Run using debug server")
|
|
|
|
cfg.sync()
|