Changeset 1203


Ignore:
Timestamp:
06/02/09 14:02:11 (3 years ago)
Author:
Peter Peterson
Message:

Cleaned up getnxclass as suggested by Paul. Refs #101.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bindings/python/nxs/napi.py

    r1196 r1203  
    524524            if nxclass is None: 
    525525                nxclass = self.__getnxclass(name) 
    526                 if nxclass is None: 
    527                     raise NeXusError("Failed to find entry with name \"%s\" "\ 
    528                                      + "at %s" % (name, self.path)) 
    529526            if nxclass != "SDS": 
    530527                self.opengroup(name, nxclass) 
     
    562559        if nxclass is None: 
    563560            nxclass = self.__getnxclass(name) 
    564             if nxclass is None: 
    565                 raise KeyError("file does not have \"%s\" at this level" \ 
    566                                % name) 
    567561        status = nxlib.nxiopengroup_(self.handle, name, nxclass) 
    568562        if status == ERROR: 
     
    681675        return result 
    682676 
    683     def __getnxclass(self, name): 
     677    def __getnxclass(self, target): 
    684678        """ 
    685679        Return the nxclass of the supplied name. 
    686680        """ 
    687681        self.initgroupdir() 
    688         (myname, nxclass) = self.getnextentry() 
    689         if (myname, nxclass) != (None, None): 
    690             if myname == name: 
     682        while True: 
     683            (nxname, nxclass) = self.getnextentry() 
     684            if nxname == target: 
    691685                return nxclass 
    692         while (myname, nxclass) != (None, None): 
    693             (myname, nxclass) = self.getnextentry() 
    694             if myname == name: 
    695                 return nxclass 
    696         return None 
     686            if nxname is None: 
     687                break 
     688        raise NeXusError("Failed to find entry with name \"%s\" " \ 
     689                         + "at %s" % (target, self.path)) 
    697690 
    698691    def entries(self): 
Note: See TracChangeset for help on using the changeset viewer.