Loading astrort/configure/check_configuration.py +8 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ class CheckConfiguration(): return self def check_tags(self): tags = ['simulator', 'visibility'] tags = ['simulator', 'visibility', 'logging'] assert self.conf.keys() == tags return self Loading @@ -43,3 +43,10 @@ class CheckConfiguration(): assert self.conf['visibility'].keys() == keys assert type(self.conf['visibility']['start_time']) == str return self def check_logging(self): keys = ['level', 'logfile'] assert self.conf['logging'].keys() == keys assert (type(self.conf['logging']['level']) == str or type(self.conf['logging']['level']) == int) assert type(self.conf['logging']['logfile']) == str return self No newline at end of file astrort/configure/logging.py 0 → 100644 +28 −0 Original line number Diff line number Diff line # ***************************************************************************** # Copyright (C) 2023 INAF # This software is distributed under the terms of the BSD-3-Clause license # # Authors: # Ambra Di Piano <ambra.dipiano@inaf.it> # ***************************************************************************** import logging from os import makedirs from os.path import isdir, dirname def set_logger(level, filename=None): log = logging.getLogger() log.setLevel(level) # console logger formatter = logging.Formatter('[%(asctime)s] %(name)s %(levelname)s: %(message)s') consoleHandler = logging.StreamHandler() consoleHandler.setFormatter(formatter) log.addHandler(consoleHandler) # file logger if filename is not None: if not isdir(dirname(filename)): makedirs(dirname(filename)) fileHandler = logging.FileHandler(filename) fileHandler.setFormatter(formatter) log.addHandler(fileHandler) return log No newline at end of file astrort/configure/test.yml +4 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ simulator: prod: prod5-v0.1 pointing: random duration: 300 samples: 5 samples: 1 seed: 1 model: $TEMPLATES$/crab.xml output: /data01/homes/dipiano/astroRT/testing/output_tmp Loading @@ -13,3 +13,6 @@ simulator: visibility: start_time: '2030-01-01T00:00:00' logging: level: DEBUG logfile: astrort/testing/test_configure/test_check_configuration.py 0 → 100644 +49 −0 Original line number Diff line number Diff line # ***************************************************************************** # Copyright (C) 2023 INAF # This software is distributed under the terms of the BSD-3-Clause license # # Authors: # Ambra Di Piano <ambra.dipiano@inaf.it> # ***************************************************************************** import pytest from astrort.utils.wrap import load_yaml_conf from astrort.configure.check_configuration import CheckConfiguration @pytest.mark.astrort_configuration class TestCheckConfiguration: def test_check(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check() except AssertionError as e: type(e) == AssertionError def test_check_tags(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_tags() except AssertionError as e: type(e) == AssertionError def test_check_simulator(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_simulator() except AssertionError as e: type(e) == AssertionError def test_check_visibility(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_visibility() except AssertionError as e: type(e) == AssertionError def test_check_logging(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_logging() except AssertionError as e: type(e) == AssertionError No newline at end of file Loading
astrort/configure/check_configuration.py +8 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ class CheckConfiguration(): return self def check_tags(self): tags = ['simulator', 'visibility'] tags = ['simulator', 'visibility', 'logging'] assert self.conf.keys() == tags return self Loading @@ -43,3 +43,10 @@ class CheckConfiguration(): assert self.conf['visibility'].keys() == keys assert type(self.conf['visibility']['start_time']) == str return self def check_logging(self): keys = ['level', 'logfile'] assert self.conf['logging'].keys() == keys assert (type(self.conf['logging']['level']) == str or type(self.conf['logging']['level']) == int) assert type(self.conf['logging']['logfile']) == str return self No newline at end of file
astrort/configure/logging.py 0 → 100644 +28 −0 Original line number Diff line number Diff line # ***************************************************************************** # Copyright (C) 2023 INAF # This software is distributed under the terms of the BSD-3-Clause license # # Authors: # Ambra Di Piano <ambra.dipiano@inaf.it> # ***************************************************************************** import logging from os import makedirs from os.path import isdir, dirname def set_logger(level, filename=None): log = logging.getLogger() log.setLevel(level) # console logger formatter = logging.Formatter('[%(asctime)s] %(name)s %(levelname)s: %(message)s') consoleHandler = logging.StreamHandler() consoleHandler.setFormatter(formatter) log.addHandler(consoleHandler) # file logger if filename is not None: if not isdir(dirname(filename)): makedirs(dirname(filename)) fileHandler = logging.FileHandler(filename) fileHandler.setFormatter(formatter) log.addHandler(fileHandler) return log No newline at end of file
astrort/configure/test.yml +4 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ simulator: prod: prod5-v0.1 pointing: random duration: 300 samples: 5 samples: 1 seed: 1 model: $TEMPLATES$/crab.xml output: /data01/homes/dipiano/astroRT/testing/output_tmp Loading @@ -13,3 +13,6 @@ simulator: visibility: start_time: '2030-01-01T00:00:00' logging: level: DEBUG logfile:
astrort/testing/test_configure/test_check_configuration.py 0 → 100644 +49 −0 Original line number Diff line number Diff line # ***************************************************************************** # Copyright (C) 2023 INAF # This software is distributed under the terms of the BSD-3-Clause license # # Authors: # Ambra Di Piano <ambra.dipiano@inaf.it> # ***************************************************************************** import pytest from astrort.utils.wrap import load_yaml_conf from astrort.configure.check_configuration import CheckConfiguration @pytest.mark.astrort_configuration class TestCheckConfiguration: def test_check(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check() except AssertionError as e: type(e) == AssertionError def test_check_tags(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_tags() except AssertionError as e: type(e) == AssertionError def test_check_simulator(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_simulator() except AssertionError as e: type(e) == AssertionError def test_check_visibility(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_visibility() except AssertionError as e: type(e) == AssertionError def test_check_logging(self, astrort_configuration): configuration = load_yaml_conf(astrort_configuration) try: CheckConfiguration(configuration=configuration).check_logging() except AssertionError as e: type(e) == AssertionError No newline at end of file