Skip to content

Commit 2580d40

Browse files
committed
show skipkeys str hint in to_json and saveas_json
1 parent d621adc commit 2580d40

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/superneuromat/neuromorphicmodel.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,17 @@ def check_gpu():
7171
raise ImportError(msg) from err
7272

7373

74+
def normalize_skipkeys(skipkeys, function_name: str = '') -> set:
75+
"""Normalize skipkeys to a set of strings"""
76+
if skipkeys is None:
77+
return set()
78+
else:
79+
if isinstance(skipkeys, str):
80+
raise TypeError("from_json_network() received a string for parameter `skipkeys`, "
81+
"but a list, tuple, set, or None was expected.")
82+
return set(skipkeys)
83+
84+
7485
class SNN:
7586
"""Defines a spiking neural network with neurons and synapses"""
7687

@@ -2160,9 +2171,9 @@ def _to_json_dict(self, array_representation="json-native",
21602171
The SNN as a dictionary.
21612172
"""
21622173
from . import __version__ as snm_version
2163-
skipkeys = [] if skipkeys is None else skipkeys
2164-
skipkeys += ["connection_ids"]
2165-
varnames = set(self.eqvars) - set(skipkeys)
2174+
skipkeys = normalize_skipkeys(skipkeys, function_name="_to_json_dict()")
2175+
skipkeys |= {"connection_ids"}
2176+
varnames = set(self.eqvars) - skipkeys
21662177
arep = array_representation
21672178

21682179
def is_numeric_array(o):
@@ -2345,13 +2356,7 @@ def is_encoded_dict(d) -> bool | str:
23452356

23462357
data = net_dict["data"]
23472358

2348-
if skipkeys is None:
2349-
skipkeys = set()
2350-
else:
2351-
if isinstance(skipkeys, str):
2352-
raise TypeError("from_json_network() received a string for parameter `skipkeys`, "
2353-
"but a list, tuple, set, or None was expected.")
2354-
skipkeys = set(skipkeys)
2359+
skipkeys = normalize_skipkeys(skipkeys, function_name="from_json_network()")
23552360
should_modify = set(data.keys()) - skipkeys # self variables to modify
23562361

23572362
# set our default dtype before setting the arrays

0 commit comments

Comments
 (0)