@@ -199,23 +199,32 @@ def save(
199199def load (
200200 pfe = None ,
201201 cls = None ,
202+ coll = None ,
202203 allow_pickle = None ,
203204 sep = None ,
204205 verb = None ,
205206):
206207
207208 # -------------
208209 # check inputs
210+ # -------------
209211
212+ # ---------
210213 # pfe
214+
211215 if not os .path .isfile (pfe ):
212216 msg = f"Arg pfe must be a valid path to a file!\n \t - Provided: { pfe } "
213217 raise Exception (msg )
214218
215- # cls
216- if cls is None :
217- from ._class import DataStock
218- cls = DataStock
219+ # --------------
220+ # cls vs coll
221+
222+ if coll is None :
223+ if cls is None :
224+ from ._class import DataStock
225+ cls = DataStock
226+ else :
227+ cls = coll .__class__
219228
220229 if not (type (cls ) is type and hasattr (cls , 'from_dict' )):
221230 msg = (
@@ -224,14 +233,18 @@ def load(
224233 )
225234 raise Exception (msg )
226235
236+ # ------------
227237 # allow_pickle
238+
228239 allow_pickle = _generic_check ._check_var (
229240 allow_pickle , 'allow_pickle' ,
230241 default = True ,
231242 types = bool ,
232243 )
233244
245+ # -------
234246 # verb
247+
235248 verb = _generic_check ._check_var (
236249 verb , 'verb' ,
237250 default = True ,
@@ -240,11 +253,13 @@ def load(
240253
241254 # --------------
242255 # load flat dict
256+ # --------------
243257
244258 dflat = dict (np .load (pfe , allow_pickle = allow_pickle ))
245259
246260 # ------------------------------
247261 # load sep from file if exists
262+ # ------------------------------
248263
249264 if _KEY_SEP in dflat .keys ():
250265 # new
@@ -256,6 +271,7 @@ def load(
256271
257272 # ----------
258273 # reshape
274+ # ----------
259275
260276 dout = {}
261277 for k0 , v0 in dflat .items ():
@@ -310,14 +326,19 @@ def load(
310326
311327 # -----------
312328 # Instanciate
329+ # -----------
313330
314- obj = cls .from_dict (dout )
331+ coll = cls .from_dict (dout , obj = coll )
332+
333+ # -----------
334+ # verb
335+ # -----------
315336
316337 if verb :
317338 msg = f"Loaded from\n \t { pfe } "
318339 print (msg )
319340
320- return obj
341+ return coll
321342
322343
323344# #################################################################
0 commit comments