source: products/qMemberdataExport/trunk/MemberdataHandlers.py @ 1

Last change on this file since 1 was 1, checked in by myroslav, 18 years ago

Building directory structure

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1try:
2    from Interface import Interface
3except ImportError:
4    # for Zope versions before 2.6.0
5    from Interface import Base as Interface
6
7_memberdata_handlers = []
8
9def registerMemberdataHandler(klass):
10
11    if not klass in _memberdata_handlers:
12        _memberdata_handlers.insert(0, klass)
13
14def unregisterMemberdataHandler(klass):
15
16    if klass in _memberdata_handlers:
17        _memberda_handlers.remove(klass)
18
19def getRegisteredMemberdataHandlers():
20
21    return _memberdata_handlers
22
23class IMemberdataHandler(Interface):
24    """
25        Manage portal_memberdata and return needed information
26    """
27
28    def is_compatible(memberdata_tool):
29        """
30            Take portal_memberdata tool and analyse possibility of working
31            with it.
32            If handler does not know how to work with given portal_memberdata,
33            it raise an exception on init.
34        """
35
36    def listAllMemberProperties(exclude_props=[], include_props=None):
37        """
38            Return all properties that can have any member in portal
39        """
40
41    def getAllMembers():
42        """
43            Return all members appropriate to the given portal_memberdata
44        """
45
46    def getMemberProperties(member, exclude_props=[], include_props=None):
47        """
48            Return all needed member's properties as dictionary
49            {property name : property value, ...},
50            exclude properties from exclue_props parameter
51        """
Note: See TracBrowser for help on using the repository browser.