Back to index

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

List of all members.

Public Member Functions

def __init__
def export
def listExportableItems
def import_

Public Attributes

 context

Static Public Attributes

 encoding = None

Private Member Functions

def _getNodeAttr

Detailed Description

Base for plugins whose configuration can be dumped to an XML file.

o Derived classes must define:

  '_FILENAME' -- a class variable naming the export template

  '_getExportInfo' --  a method returning a mapping which will be passed
   to the template as 'info'.

  '_ROOT_TAGNAME' -- the name of the root tag in the XML (for sanity check)

  '_purgeContext' -- a method which clears our context.

  '_updateFromDOM' -- a method taking the root node of the DOM.

Definition at line 73 of file exportimport.py.


Constructor & Destructor Documentation

Definition at line 92 of file exportimport.py.

00092 
00093     def __init__(self, context):
00094         self.context = context


Member Function Documentation

def PluggableAuthService.plugins.exportimport.SimpleXMLExportImport._getNodeAttr (   self,
  node,
  attrname,
  default = None 
) [private]

Definition at line 132 of file exportimport.py.

00132 
00133     def _getNodeAttr(self, node, attrname, default=None):
00134         attr = node.attributes.get(attrname)
00135         if attr is None:
00136             return default
00137         value = attr.value
00138         if isinstance(value, unicode) and self.encoding is not None:
00139             value = value.encode(self.encoding)
00140         return value

Here is the caller graph for this function:

def PluggableAuthService.plugins.exportimport.SimpleXMLExportImport.export (   self,
  export_context,
  subdir,
  root = False 
)
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 
)
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 93 of file exportimport.py.

Definition at line 90 of file exportimport.py.


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