Skip to content

Commit 1c7ed5b

Browse files
authored
Bugfix in hgp setter in ExperimentData (#1234)
### Summary This PR fixes a bug in :meth:`.ExperimentData.hgp`. ### Details and comments Currently :meth:`.ExperimentData.hgp` uses a regex which is too strict and cannot recognize strings such as "ibm-q-internal". This PR updates the regex to accept everything of the form "A/B/C" where A,B,C do not contain "/" but can contain anything else.
1 parent dd62000 commit 1c7ed5b

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

qiskit_experiments/framework/experiment_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ def hgp(self) -> str:
653653
@hgp.setter
654654
def hgp(self, new_hgp: str) -> None:
655655
"""Sets the Hub/Group/Project data from a formatted string"""
656-
if re.match(r"\w+/\w+/\w+$", new_hgp) is None:
656+
if re.match(r"[^/]*/[^/]*/[^/]*$", new_hgp) is None:
657657
raise QiskitError("hgp can be only given in a <hub>/<group>/<project> format")
658658
self._db_data.hub, self._db_data.group, self._db_data.project = new_hgp.split("/")
659659

test/database_service/test_db_experiment_data.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,3 +1139,12 @@ def test_metadata_too_large(self):
11391139
for n in range(metadata_size)
11401140
]
11411141
self.assertTrue(exp_data._metadata_too_large())
1142+
1143+
def test_hgp_setter(self):
1144+
"""Tests usage of the hgp setter"""
1145+
exp_data = ExperimentData()
1146+
exp_data.hgp = "ibm-q-internal/deployed/default"
1147+
self.assertEqual("ibm-q-internal/deployed/default", exp_data.hgp)
1148+
self.assertEqual("ibm-q-internal", exp_data.hub)
1149+
self.assertEqual("deployed", exp_data.group)
1150+
self.assertEqual("default", exp_data.project)

0 commit comments

Comments
 (0)