diff --git a/c3/experiment.py b/c3/experiment.py index 3a5c4b10..cb3c0fe5 100755 --- a/c3/experiment.py +++ b/c3/experiment.py @@ -109,9 +109,9 @@ def load_quick_setup(self, filepath: str) -> None: """ with open(filepath, "r") as cfg_file: cfg = hjson.loads(cfg_file.read(), object_pairs_hook=hjson_decode) - self.quick_setup(cfg) + self.quick_setup(cfg, os.path.dirname(filepath)) - def quick_setup(self, cfg) -> None: + def quick_setup(self, cfg, base_dir: str = None) -> None: """ Load a quick setup cfg and create all necessary components. @@ -121,10 +121,17 @@ def quick_setup(self, cfg) -> None: Configuration options """ + + def make_absolute(filename: str) -> str: + if base_dir or os.path.isabs(filename): + return os.path.join(base_dir, filename) + else: + return filename + model = Model() - model.read_config(cfg["model"]) + model.read_config(make_absolute(cfg["model"])) gen = Generator() - gen.read_config(cfg["generator"]) + gen.read_config(make_absolute(cfg["generator"])) single_gate_time = cfg["single_qubit_gate_time"] v2hz = cfg["v2hz"] diff --git a/test/qiskit.cfg b/test/qiskit.cfg index 540d618b..45bf7318 100644 --- a/test/qiskit.cfg +++ b/test/qiskit.cfg @@ -2,8 +2,8 @@ "optim_type": "C1", "run_name" : "qiskit", "include_model" : true, - "model" : "test/test_model.cfg", - "generator": "test/generator.cfg", + "model" : "test_model.cfg", + "generator": "generator.cfg", "v2hz": 1e9 "sideband": 50e6 "single_qubit_gate_time" : 20e-9 diff --git a/test/quickstart.hjson b/test/quickstart.hjson index 7683cb5a..3b3db605 100644 --- a/test/quickstart.hjson +++ b/test/quickstart.hjson @@ -2,8 +2,8 @@ "optim_type": "C1", "run_name" : "quick", "include_model" : true, - "model" : "test/test_model.cfg", - "generator": "test/generator.cfg", + "model" : "test_model.cfg", + "generator": "generator.cfg", "v2hz": 1e9 "sideband": 50e6 "single_qubit_gate_time" : 20e-9