コード例 #1
0
 def test_additional_keys_in_measurements(self):
     experiment = read_text_file("data/text/one_parameter_1.txt")
     schema = ExperimentSchema()
     exp_data = schema.dump(experiment)
     # print(json.dumps(exp_data, indent=1))
     exp_data['measurements']['TEST_ATTRIBUTE'] = 'TEST_ATTRIBUTE'
     self.assertRaises(ValidationError, schema.load, exp_data)
コード例 #2
0
 def setUpClass(cls) -> None:
     cls.experiment = read_text_file("data/text/one_parameter_1.txt")
     ModelGenerator(cls.experiment).model_all()
     schema = ExperimentSchema()
     # print(json.dumps(schema.dump(cls.experiment), indent=1))
     exp_str = schema.dumps(cls.experiment)
     cls.reconstructed: Experiment = schema.loads(exp_str)
コード例 #3
0
 def test_additional_keys_in_experiment(self):
     experiment = read_text_file("data/text/one_parameter_1.txt")
     schema = ExperimentSchema()
     exp_data = schema.dump(experiment)
     # print(json.dumps(exp_data, indent=1))
     exp_data['TEST_ATTRIBUTE'] = 'TEST_ATTRIBUTE'
     reconstructed: Experiment = schema.load(exp_data)
     self.assertFalse(hasattr(reconstructed, 'TEST_ATTRIBUTE'))
コード例 #4
0
ファイル: experiment_io.py プロジェクト: extra-p/extrap
def read_experiment(path, progress_bar=DUMMY_PROGRESS):
    progress_bar.total += 3
    schema = ExperimentSchema()
    schema.set_progress_bar(progress_bar)
    try:
        with ZipFile(path, 'r', allowZip64=True) as file:
            progress_bar.update()
            data = file.read(EXPERIMENT_DATA_FILE).decode("utf-8")
            progress_bar.update()
            try:
                experiment = schema.loads(data)
                progress_bar.update()
                return experiment
            except ValidationError as v_err:
                raise FileFormatError(str(v_err)) from v_err
    except (IOError, zipfile.BadZipFile) as err:
        raise RecoverableError(str(err)) from err
コード例 #5
0
ファイル: experiment_io.py プロジェクト: extra-p/extrap
def write_experiment(experiment, path, progress_bar=DUMMY_PROGRESS):
    progress_bar.total += 3
    schema = ExperimentSchema()
    try:
        with ZipFile(path,
                     'w',
                     compression=zipfile.ZIP_DEFLATED,
                     compresslevel=1,
                     allowZip64=True) as file:
            progress_bar.update()
            try:
                data = schema.dumps(experiment)
                progress_bar.update()
                file.writestr(EXPERIMENT_DATA_FILE, data)
                progress_bar.update()
            except ValidationError as v_err:
                raise FileFormatError(str(v_err)) from v_err
    except (IOError, FileNotFoundError, zipfile.BadZipFile) as err:
        raise RecoverableError(str(err)) from err
コード例 #6
0
 def setUpClass(cls) -> None:
     cls.experiment = read_text_file("data/text/two_parameter_3.txt")
     schema = ExperimentSchema()
     # print(json.dumps(schema.dump(cls.experiment), indent=1))
     exp_str = schema.dumps(cls.experiment)
     cls.reconstructed: Experiment = schema.loads(exp_str)
コード例 #7
0
 def test_validation(self):
     experiment = read_text_file("data/text/one_parameter_1.txt")
     schema = ExperimentSchema()
     exp_data = schema.dump(experiment)
     val_erros = schema.validate(exp_data)
     self.assertDictEqual({}, val_erros)