@@ -127,6 +127,13 @@ def create_group(self, h5path, track_order=None):
127127 if self .read_only :
128128 raise ValueError ("No write intent" )
129129
130+ if track_order is None :
131+ cfg = config .get_config ()
132+ if cfg .track_order :
133+ track_order = True
134+ else :
135+ track_order = None
136+
130137 if isinstance (h5path , bytes ):
131138 h5path = h5path .decode ('utf-8' )
132139
@@ -249,12 +256,14 @@ def create_dataset(self, name, shape=None, dtype=None, data=None, **kwds):
249256 if "track_order" in kwds :
250257 track_order = kwds ["track_order" ]
251258 else :
252- track_order = None
253-
254- cfg = config .get_config ()
259+ cfg = config .get_config ()
260+ if cfg .track_order :
261+ track_order = True
262+ else :
263+ track_order = None
255264
256265 datasetId = dataset .make_new_dset (self , shape = shape , dtype = dtype , data = data , ** kwds )
257- dset = Dataset (datasetId , track_order = ( track_order or cfg . track_order ) )
266+ dset = Dataset (datasetId , track_order = track_order )
258267
259268 if name is not None :
260269 items = name .split ('/' )
@@ -500,16 +509,15 @@ def __getitem__(self, name, track_order=None):
500509
501510 if tgt_id is not None :
502511 collection = getCollectionForId (tgt_id )
503-
504512 if collection == 'groups' :
505- tgt = Group (GroupID (self , tgt_id , obj_json = tgt_json ), track_order = track_order )
513+ tgt = Group (GroupID (self , tgt_id ), track_order = track_order )
506514 elif collection == 'datatypes' :
507- tgt = Datatype (TypeID (self , tgt_id , obj_json = tgt_json ) )
515+ tgt = Datatype (TypeID (self , tgt_id ), track_order = track_order )
508516 elif collection == 'datasets' :
509517 # create a Table if the dataset is one dimensional and compound
510518 shape_json = tgt_json ["shape" ]
511519 dtype_json = tgt_json ["type" ]
512- dset_id = DatasetID (self , tgt_id , obj_json = tgt_json , track_order = track_order )
520+ dset_id = DatasetID (self , tgt_id )
513521 if getRank (shape_json ) == 1 and dtype_json ["class" ] == 'H5T_COMPOUND' :
514522 tgt = Table (dset_id , track_order = track_order )
515523 else :
@@ -565,7 +573,7 @@ def get(self, name, default=None, getclass=False, getlink=False, track_order=Non
565573 Return HardLink, SoftLink and ExternalLink classes. Return
566574 "default" if nothing with that name exists.
567575
568- "track_order" is (T/F):
576+ "track_order" is (T/F/None ):
569577 If a group is returned, it's items will be listed by creation order if track_order
570578 is True and lexicographically if False. If track_order is not set, the track_order
571579 used at group creation time will be used.
@@ -708,7 +716,6 @@ def __setitem__(self, name, obj):
708716 db .createExternalLink (self .id .uuid , name , obj .path , obj .filename )
709717
710718 elif isinstance (obj , numpy .dtype ):
711- # print "create named type"
712719 ctype_id = db .createCommittedType (obj )
713720 db .createHardLink (self .id .uuid , name , ctype_id )
714721
@@ -765,8 +772,7 @@ def __iter__(self):
765772
766773 track_order = None
767774 if self ._track_order is not None :
768- print ("self._track_order:" , self ._track_order )
769- # track_order = self._track_order
775+ track_order = self ._track_order
770776 elif self .id .create_order is not None :
771777 track_order = self .id .create_order
772778 else :
0 commit comments