From 1cf4ca5b5af6d8b0ef131c38007feb9085ed468a Mon Sep 17 00:00:00 2001 From: Lukas Winkler Date: Tue, 23 Apr 2024 12:59:57 +0200 Subject: [PATCH] add output section to config --- cosmicweb_music/cosmICweb.py | 14 +++++++++++++- cosmicweb_music/data_types.py | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/cosmicweb_music/cosmICweb.py b/cosmicweb_music/cosmICweb.py index 1c3b9ad..5efcbb2 100755 --- a/cosmicweb_music/cosmICweb.py +++ b/cosmicweb_music/cosmICweb.py @@ -193,7 +193,7 @@ def music_config_to_template(config: DownloadConfig) -> str: "[setup]\n" + music_config["setup"] + "\n\n\n\n" "[cosmology]\n" + music_config["cosmology"] + "\n\n" "[random]\n" + music_config["random"] + "\n\n" - "[poisson]\n" + music_config["poisson"] + "[poisson]\n" + music_config["poisson"] + "\n\n" ) if settings: config = apply_config_parameter( @@ -205,6 +205,18 @@ def music_config_to_template(config: DownloadConfig) -> str: "zstart": settings["startRedshift"], }, ) + if settings["outputType"]: + config += f""" +[output] +format = {settings["outputType"]} +filename = {settings["outputFilename"]} + """.strip() + config += "\n" + for k, v in settings["outputOptions"]: + config += f"{k} = {v}\n" + if not settings or not settings["outputType"]: + # TODO: allow specifying output format via cli argument + config += "[output]\n# TODO: add output options" return config diff --git a/cosmicweb_music/data_types.py b/cosmicweb_music/data_types.py index 0ef5e2c..91f81a6 100644 --- a/cosmicweb_music/data_types.py +++ b/cosmicweb_music/data_types.py @@ -1,7 +1,7 @@ from __future__ import annotations from datetime import datetime -from typing import NamedTuple, Any, List, Dict, TypedDict +from typing import NamedTuple, Any, List, Dict, TypedDict, Tuple class Ellipsoid(NamedTuple): @@ -19,7 +19,7 @@ class Resolution(TypedDict): class Configuration(TypedDict): outputType: str resolution: Resolution - outputOptions: List[Any] + outputOptions: List[Tuple[str, str]] startRedshift: int outputFilename: str separateFolders: bool