Compare commits

...

2 Commits

Author SHA1 Message Date
Romain J 179c84b45a feat(instances): done -L active since 2020-10-19 22:17:19 +02:00
Romain J cc5df29e71 remove(debug): delete some console.log 2020-10-19 21:50:18 +02:00
4 changed files with 48 additions and 17 deletions

View File

@ -47,7 +47,7 @@ def list_instances() -> NoReturn:
console.print()
columns = Columns(expand=True, padding=2, align="center")
for instance, details in app_config.instances.items():
for instance, details in app_config.Instances.items():
active = details["active"]
last_run = (
humanize.naturaltime(

View File

@ -15,8 +15,14 @@ from rich.traceback import install
from tuxbot import version_info
from .config import Config, ConfigFile, search_for
from .data_manager import logs_data_path, data_path
from .config import (
Config,
ConfigFile,
search_for,
AppConfig,
set_for_key,
)
from .data_manager import logs_data_path, data_path, config_dir
from . import __version__, ExitCodes
from . import exceptions
@ -105,6 +111,15 @@ class Tux(commands.AutoShardedBot):
async def on_ready(self):
self.uptime = datetime.datetime.now()
app_config = ConfigFile(config_dir / "config.yaml", AppConfig).config
set_for_key(
app_config.Instances,
self.instance_name,
AppConfig.Instance,
active=True,
last_run=datetime.datetime.timestamp(self.uptime),
)
self._progress.get("main").stop_task(
self._progress.get("tasks")["connecting"]
)
@ -234,6 +249,14 @@ class Tux(commands.AutoShardedBot):
Todo: add postgresql logout here
"""
app_config = ConfigFile(config_dir / "config.yaml", AppConfig).config
set_for_key(
app_config.Instances,
self.instance_name,
AppConfig.Instance,
active=False,
)
for task in self._progress.get("tasks").keys():
self._progress.get("main").log("Shutting down", task)

View File

@ -9,7 +9,14 @@ from structured_config import (
)
__all__ = ["Config", "ConfigFile", "search_for", "set_for_key", "set_for_key"]
__all__ = [
"Config",
"ConfigFile",
"AppConfig",
"search_for",
"set_for_key",
"set_for",
]
log = logging.getLogger("tuxbot.core.config")
@ -59,7 +66,7 @@ class AppConfig(Structure):
active: bool = BoolField(False)
last_run: int = IntField(0)
instances: Dict[str, Instance] = {}
Instances: Dict[str, Instance] = {}
# =============================================================================

View File

@ -13,7 +13,7 @@ from rich.rule import Rule
from rich.style import Style
from rich.traceback import install
from tuxbot.core.config import set_for
from tuxbot.core.config import set_for, set_for_key
from tuxbot.logging import formatter
from tuxbot.core.data_manager import config_dir, app_dir, cogs_data_path
from tuxbot.core import config
@ -29,12 +29,14 @@ except PermissionError:
)
sys.exit(1)
app_config = config.ConfigFile(config_dir / "config.yaml", config.AppConfig)
app_config = config.ConfigFile(
config_dir / "config.yaml", config.AppConfig
).config
if not app_config.config.instances:
if not app_config.Instances:
instances_list = []
else:
instances_list = list(app_config.config.instances.keys())
instances_list = list(app_config.Instances.keys())
def get_name() -> str:
@ -251,9 +253,6 @@ def additional_config(instance: str, cogs: str = "**"):
for key, value in mod_extra.items():
extras[key] = get_extra(value["description"], value["type"])
console.log(mod_config)
console.log(dir(mod_config))
console.log(mod_config_type)
set_for(mod_config, **extras)
else:
console.print(
@ -342,11 +341,13 @@ def basic_setup() -> NoReturn:
console.print("Abandon...")
sys.exit(0)
instance = config.AppConfig.Instance()
instance.path = str(data_dir.resolve())
instance.active = False
app_config.config.instances[name] = instance
set_for_key(
app_config.Instances,
name,
config.AppConfig.Instance,
path=str(data_dir.resolve()),
active=False,
)
console.print("\n" * 4)