[Zope-Checkins] CVS: Products/ZSQLMethods - SQL.py:1.21.132.1
Tres Seaver
tseaver at palladion.com
Sat May 28 20:42:15 EDT 2005
Update of /cvs-repository/Products/ZSQLMethods
In directory cvs.zope.org:/tmp/cvs-serv32028/lib/python/Products/ZSQLMethods
Modified Files:
Tag: tseaver-hasattr_geddon-branch
SQL.py
Log Message:
- Removed all uses of the 'hasattr' builtin from the core, where
the object being tested derives (or might) from Persistent.
XXX: currently, this branch imports a 'safe_hasattr' from ZODB.utils,
which adds a dependency on ZODB for some packages; we probably
need a better location, and perhas a C implementation?
=== Products/ZSQLMethods/SQL.py 1.21 => 1.21.132.1 ===
--- Products/ZSQLMethods/SQL.py:1.21 Wed Aug 14 18:25:18 2002
+++ Products/ZSQLMethods/SQL.py Sat May 28 20:41:35 2005
@@ -18,6 +18,7 @@
import Shared.DC.ZRDB.DA
from Globals import DTMLFile
+from ZODB.utils import safe_hasattr
from webdav.WriteLockInterface import WriteLockInterface
def SQLConnectionIDs(self):
@@ -30,17 +31,21 @@
StringType=type('')
while self is not None:
- if hasattr(self, 'objectValues'):
+ if safe_hasattr(self, 'objectValues'):
for o in self.objectValues():
- if (hasattr(o,'_isAnSQLConnection') and o._isAnSQLConnection
- and hasattr(o,'id')):
+ if (safe_hasattr(o,'_isAnSQLConnection')
+ and o._isAnSQLConnection
+ and safe_hasattr(o,'id')):
id=o.id
- if type(id) is not StringType: id=id()
+ if type(id) is not StringType:
+ id=id()
if not have_id(id):
- if hasattr(o,'title_and_id'): o=o.title_and_id()
- else: o=id
+ if safe_hasattr(o,'title_and_id'):
+ o=o.title_and_id()
+ else:
+ o=id
ids[id]=id
- if hasattr(self, 'aq_parent'): self=self.aq_parent
+ if safe_hasattr(self, 'aq_parent'): self=self.aq_parent
else: self=None
ids=map(lambda item: (item[1], item[0]), ids.items())
@@ -48,9 +53,8 @@
return ids
manage_addZSQLMethodForm=DTMLFile('dtml/add', globals())
-def manage_addZSQLMethod(self, id, title,
- connection_id, arguments, template,
- REQUEST=None, submit=None):
+def manage_addZSQLMethod(self, id, title, connection_id, arguments, template,
+ REQUEST=None, submit=None):
"""Add an SQL Method
The 'connection_id' argument is the id of a database connection
More information about the Zope-Checkins
mailing list