[CMF-checkins] CVS: CMF/CMFCollector - util.py:1.7
Ken Manheimer
klm@zope.com
Sun, 28 Oct 2001 23:48:04 -0500
Update of /cvs-repository/CMF/CMFCollector
In directory cvs.zope.org:/tmp/cvs-serv18090
Modified Files:
util.py
Log Message:
safeGetProperty(): Provides for members from member folders with
getProperty() signatures that don't allow for defaulting (eg, the
current implementation of new.zope.org's LDAP user folder), and also
for non-member users, eg managers from the surrounding site.
=== CMF/CMFCollector/util.py 1.6 => 1.7 ===
return (None, None)
+def safeGetProperty(userobj, property, default=None):
+ """Defaulting user.getProperty(), allowing for variant user folders."""
+ try:
+ return userobj.getProperty(property, default)
+ except TypeError:
+ try:
+ # Some (eg, our LDAP user folder) support getProperty but not
+ # defaulting:
+ return userobj.getProperty(property)
+ except:
+ return default
+ except AttributeError:
+ # Some don't support getProperty:
+ return getattr(userobj, property, default)
+
+
def cited_text(text, rfind=string.rfind, strip=string.strip):
"""Quote text for use in literal citations.