[Yt-svn] yt-commit r1039 - trunk/yt/lagos

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Wed Dec 24 20:50:12 PST 2008


Author: mturk
Date: Wed Dec 24 20:50:12 2008
New Revision: 1039
URL: http://yt.spacepope.org/changeset/1039

Log:
Refactoring out the classobj into _add_object_class.  This will ultimately
allow for an object list grabbed from BaseDataTypes, and iterating over that to
handle the naming.



Modified:
   trunk/yt/lagos/HierarchyType.py

Modified: trunk/yt/lagos/HierarchyType.py
==============================================================================
--- trunk/yt/lagos/HierarchyType.py	(original)
+++ trunk/yt/lagos/HierarchyType.py	Wed Dec 24 20:50:12 2008
@@ -149,7 +149,7 @@
             node_loc = self._data_file.getNode(node)
             if name in node_loc and force:
                 self._data_file.removeNode(node, name, recursive=True)
-            if name in node_loc and passthrough:
+            elif name in node_loc and passthrough:
                 return
         except tables.exceptions.NoSuchNodeError:
             pass
@@ -176,19 +176,37 @@
             del self._data_file
             self._data_file = None
 
+    def _add_object_class(self, name, obj):
+        self.object_types.append(name)
+        setattr(self, name, obj)
+
     def _setup_classes(self, dd):
-        self.proj = classobj("AMRProj",(AMRProjBase,), dd)
-        self.slice = classobj("AMRSlice",(AMRSliceBase,), dd)
-        self.region = classobj("AMRRegion",(AMRRegionBase,), dd)
-        self.periodic_region = classobj("AMRPeriodicRegion",(AMRPeriodicRegionBase,), dd)
-        self.covering_grid = classobj("AMRCoveringGrid",(AMRCoveringGrid,), dd)
-        self.smoothed_covering_grid = classobj("AMRSmoothedCoveringGrid",(AMRSmoothedCoveringGrid,), dd)
-        self.sphere = classobj("AMRSphere",(AMRSphereBase,), dd)
-        self.cutting = classobj("AMRCuttingPlane",(AMRCuttingPlaneBase,), dd)
-        self.ray = classobj("AMRRay",(AMRRayBase,), dd)
-        self.ortho_ray = classobj("AMROrthoRay",(AMROrthoRayBase,), dd)
-        self.disk = classobj("AMRCylinder",(AMRCylinderBase,), dd)
-        self.grid_collection = classobj("AMRGridCollection",(AMRGridCollection,), dd)
+        self.object_types = []
+        self._add_object_class('proj', 
+              classobj("AMRProj",(AMRProjBase,), dd))
+        self._add_object_class('slice', 
+              classobj("AMRSlice",(AMRSliceBase,), dd))
+        self._add_object_class('region', 
+              classobj("AMRRegion",(AMRRegionBase,), dd))
+        self._add_object_class('periodic_region', 
+              classobj("AMRPeriodicRegion",(AMRPeriodicRegionBase,), dd))
+        self._add_object_class('covering_grid', 
+              classobj("AMRCoveringGrid",(AMRCoveringGrid,), dd))
+        self._add_object_class('smoothed_covering_grid', 
+              classobj("AMRSmoothedCoveringGrid",(AMRSmoothedCoveringGrid,), dd))
+        self._add_object_class('sphere', 
+              classobj("AMRSphere",(AMRSphereBase,), dd))
+        self._add_object_class('cutting', 
+              classobj("AMRCuttingPlane",(AMRCuttingPlaneBase,), dd))
+        self._add_object_class('ray', 
+              classobj("AMRRay",(AMRRayBase,), dd))
+        self._add_object_class('ortho_ray', 
+              classobj("AMROrthoRay",(AMROrthoRayBase,), dd))
+        self._add_object_class('disk', 
+              classobj("AMRCylinder",(AMRCylinderBase,), dd))
+        self._add_object_class('grid_collection', 
+              classobj("AMRGridCollection",(AMRGridCollection,), dd))
+        self.object_types.sort()
 
     def _deserialize_hierarchy(self, harray):
         mylog.debug("Cached entry found.")
@@ -605,8 +623,10 @@
 
     def _setup_classes(self):
         dd = self._get_data_reader_dict()
-        self.grid = classobj("EnzoGrid",(EnzoGridBase,), dd)
         AMRHierarchy._setup_classes(self, dd)
+        self._add_object_class('grid', 
+              classobj("EnzoGrid",(EnzoGridBase,), dd))
+        self.object_types.sort()
 
     def __guess_data_style(self, rank, testGrid, testGridID):
         if self.data_style: return
@@ -1305,8 +1325,10 @@
     def _setup_classes(self):
         dd = self._get_data_reader_dict()
         dd["field_indexes"] = self.field_indexes
-        self.grid = classobj("OrionGrid",(OrionGridBase,), dd)
         AMRHierarchy._setup_classes(self, dd)
+        self._add_object_class('grid', 
+              classobj("OrionGrid",(OrionGridBase,), dd))
+        self.object_types.sort()
 
     def _get_grid_children(self, grid):
         mask = na.zeros(self.num_grids, dtype='bool')



More information about the yt-svn mailing list