In testing other code, I stumbled across an exception when a user sets PYTABLES_SYS_ATTR=False from openFile.
The following patch is one way to fix it (silences the exception), but I'm not sure I like the behavior still. The error comes from a few lines below, where it tries to set FILTERS anyway. Should FILTERS be conditional on PYTABLES_SYS_ATTR too? Index: tables/group.py =================================================================== --- tables/group.py (revision 4230) +++ tables/group.py (working copy) @@ -266,9 +266,9 @@ def _g_postInitHook(self): if self._v_new: + setAttr = self._v_attrs._g__setattr if self._v_file.params['PYTABLES_SYS_ATTRS']: # Save some attributes for the new group on disk. - setAttr = self._v_attrs._g__setattr # Set the title, class and version attributes. setAttr('TITLE', self._v_new_title) setAttr('CLASS', self._c_classId) I prefer the following, which omits the pytables attribute FILTERS too, but I'm not sure what will break (no failures with test_all light). Index: tables/group.py =================================================================== --- tables/group.py (revision 4230) +++ tables/group.py (working copy) @@ -274,15 +274,15 @@ setAttr('CLASS', self._c_classId) setAttr('VERSION', self._v_version) - # Set the default filter properties. - newFilters = self._v_new_filters - if newFilters is None: - # If no filters have been passed in the constructor, - # inherit them from the parent group, but only if they - # have been inherited or explicitly set. - newFilters = getattr(self._v_parent._v_attrs, 'FILTERS', None) - if newFilters is not None: - setAttr('FILTERS', newFilters) + # Set the default filter properties. + newFilters = self._v_new_filters + if newFilters is None: + # If no filters have been passed in the constructor, + # inherit them from the parent group, but only if they + # have been inherited or explicitly set. + newFilters = getattr(self._v_parent._v_attrs, 'FILTERS', None) + if newFilters is not None: + setAttr('FILTERS', newFilters) else: # If the file has PyTables format, get the VERSION attr if 'VERSION' in self._v_attrs._v_attrnamessys: ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Pytables-users mailing list Pytables-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pytables-users