Back to index

plone3  3.1.7
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private Attributes
PluggableAuthService.plugins.exportimport.ZODBRoleManagerExportImport Class Reference
Inheritance diagram for PluggableAuthService.plugins.exportimport.ZODBRoleManagerExportImport:
Inheritance graph
[legend]
Collaboration diagram for PluggableAuthService.plugins.exportimport.ZODBRoleManagerExportImport:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def export
def listExportableItems
def import_

Public Attributes

 context

Static Public Attributes

 encoding = None

Private Member Functions

def _purgeContext
def _updateFromDOM
def _getExportInfo
def _listRolePrincipals

Static Private Attributes

string _FILENAME = 'zodbroles.xml'
string _ROOT_TAGNAME = 'zodb-roles'

Detailed Description

Adapter for dumping / loading ZODBGroupManager to an XML file.

Definition at line 229 of file exportimport.py.


Member Function Documentation

Definition at line 250 of file exportimport.py.

00250 
00251     def _getExportInfo(self):
00252         role_info = []
00253 
00254         for rinfo in self.context.listRoleInfo():
00255             role_id = rinfo['id']
00256             info = {'role_id': role_id,
00257                     'title': rinfo['title'],
00258                     'description': rinfo['description'],
00259                    }
00260             info['principals'] = self._listRolePrincipals(role_id) 
00261             role_info.append(info)
00262 
00263         return {'title': self.context.title,
00264                 'roles': role_info,
00265                }

Here is the call graph for this function:

Here is the caller graph for this function:

List the principal IDs of the group's members.

Definition at line 266 of file exportimport.py.

00266 
00267     def _listRolePrincipals(self, role_id):
00268         """ List the principal IDs of the group's members.
00269         """
00270         result = []
00271         for k, v in self.context._principal_roles.items():
00272             if role_id in v:
00273                 result.append(k)
00274         return tuple(result)

Here is the caller graph for this function:

Definition at line 235 of file exportimport.py.

00235 
00236     def _purgeContext(self):
00237         self.context.__init__(self.context.id, self.context.title)

Here is the caller graph for this function:

Definition at line 238 of file exportimport.py.

00238 
00239     def _updateFromDOM(self, root):
00240         for role in root.getElementsByTagName('role'):
00241             role_id = self._getNodeAttr(role, 'role_id', None)
00242             title = self._getNodeAttr(role, 'title', None)
00243             description = self._getNodeAttr(role, 'description', None)
00244 
00245             self.context.addRole(role_id, title, description)
00246 
00247             for principal in role.getElementsByTagName('principal'):
00248                 principal_id = self._getNodeAttr(principal, 'principal_id', None)
00249                 self.context.assignRoleToPrincipal(role_id, principal_id)

Here is the call graph for this function:

Here is the caller graph for this function:

def PluggableAuthService.plugins.exportimport.SimpleXMLExportImport.export (   self,
  export_context,
  subdir,
  root = False 
) [inherited]
See IFilesystemExporter.

Definition at line 95 of file exportimport.py.

00095 
00096     def export(self, export_context, subdir, root=False):
00097         """ See IFilesystemExporter.
00098         """
00099         template = PageTemplateResource('xml/%s' % self._FILENAME,
00100                                         globals()).__of__(self.context)
00101         info = self._getExportInfo()
00102         export_context.writeDataFile('%s.xml' % self.context.getId(),
00103                                      template(info=info),
00104                                      'text/xml',
00105                                      subdir,
00106                                     )

Here is the call graph for this function:

def PluggableAuthService.plugins.exportimport.SimpleXMLExportImport.import_ (   self,
  import_context,
  subdir,
  root = False 
) [inherited]
See IFilesystemImporter

Definition at line 112 of file exportimport.py.

00112 
00113     def import_(self, import_context, subdir, root=False):
00114         """ See IFilesystemImporter
00115         """
00116         self.encoding = import_context.getEncoding()
00117 
00118         if import_context.shouldPurge():
00119             self._purgeContext()
00120 
00121         data = import_context.readDataFile('%s.xml' % self.context.getId(),
00122                                            subdir)
00123 
00124         if data is not None:
00125 
00126             dom = parseString(data)
00127             root = dom.firstChild
00128             assert root.tagName == self._ROOT_TAGNAME
00129 
00130             self.context.title = self._getNodeAttr(root, 'title', None)
00131             self._updateFromDOM(root)

Here is the call graph for this function:

See IFilesystemExporter.

Definition at line 107 of file exportimport.py.

00107 
00108     def listExportableItems(self):
00109         """ See IFilesystemExporter.
00110         """
00111         return ()


Member Data Documentation

Definition at line 232 of file exportimport.py.

Definition at line 233 of file exportimport.py.

Definition at line 93 of file exportimport.py.

Definition at line 90 of file exportimport.py.


The documentation for this class was generated from the following file: