Annotation of kupuMPIWG/zope2/__init__.py, revision 1.1.1.1

1.1       dwinter     1: ##############################################################################
                      2: #
                      3: # Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
                      4: #
                      5: # This software is distributed under the terms of the Kupu
                      6: # License. See LICENSE.txt for license text. For a list of Kupu
                      7: # Contributors see CREDITS.txt.
                      8: #
                      9: ##############################################################################
                     10: """Zope2 integration module
                     11: 
                     12: This is a solution for plain Zope2 integration using the
                     13: FileSystemSite product. FileSystemSite can be found at
                     14: http://www.zope.org/Members/k_vertigo/Products/FileSystemSite
                     15: Note that FileSystemSite 1.3 is required.
                     16: 
                     17: $Id: __init__.py 9879 2005-03-18 12:04:00Z yuppie $
                     18: """
                     19: 
                     20: import Globals
                     21: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
                     22: 
                     23: from Products.FileSystemSite.DirectoryView import DirectoryView
                     24: from Products.FileSystemSite.DirectoryView import DirectoryViewSurrogate
                     25: from Products.FileSystemSite.DirectoryView import DirectoryRegistry
                     26: from Products.FileSystemSite.DirectoryView import registerFileExtension
                     27: from Products.FileSystemSite.DirectoryView import manage_listAvailableDirectories
                     28: from Products.FileSystemSite.FSFile import FSFile
                     29: 
                     30: def initialize(context):
                     31:     context.registerClass(
                     32:         KupuEditorSurrogate,
                     33:         constructors=(('manage_addKupuEditorForm', manage_addKupuEditorForm),
                     34:                       manage_addKupuEditor
                     35:                       ),
                     36:         icon='kupu_icon.gif'
                     37:     )
                     38: 
                     39: #_dirreg = DirectoryRegistry()
                     40: from Products.FileSystemSite.DirectoryView import _dirreg
                     41: _dirreg.registerDirectory('../common', globals())
                     42: 
                     43: # for library drawers
                     44: registerFileExtension('xsl', FSFile)
                     45: registerFileExtension('xml', FSFile)
                     46: 
                     47: class KupuEditor(DirectoryView):
                     48:     meta_type = 'kupu editor'
                     49: 
                     50:     def __of__(self, parent):
                     51:         info = _dirreg.getDirectoryInfo(self._dirpath)
                     52:         if info is not None:
                     53:             info = info.getContents(_dirreg)
                     54:         if info is None:
                     55:             data = {}
                     56:             objects = ()
                     57:         else:
                     58:             data, objects = info
                     59:         s = KupuEditorSurrogate(self, data, objects)
                     60:         res = s.__of__(parent)
                     61:         return res
                     62: 
                     63: Globals.InitializeClass(KupuEditor)
                     64: 
                     65: class KupuEditorSurrogate(DirectoryViewSurrogate):
                     66:     meta_type = "kupu editor"
                     67: 
                     68: Globals.InitializeClass(KupuEditorSurrogate)
                     69: 
                     70: manage_addKupuEditorForm = PageTemplateFile('addKupuEditor.pt', globals())
                     71: 
                     72: def createKupuEditor(parent, filepath, id=None):
                     73:     """Adds either a DirectoryView or a derivative object.
                     74:     """
                     75:     info = _dirreg.getDirectoryInfo(filepath)
                     76:     if info is None:
                     77:         raise ValueError('Not a registered directory: %s' % filepath)
                     78:     if not id:
                     79:         id = path.split(filepath)[-1]
                     80:     else:
                     81:         id = str(id)
                     82:     ob = KupuEditor(id, filepath)
                     83:     parent._setObject(id, ob)
                     84: 
                     85: def manage_addKupuEditor(self, filepath="Products/kupu/common",
                     86:                          id=None, REQUEST=None):
                     87:     """Adds either an kupu editor object
                     88:     """
                     89:     createKupuEditor(self, filepath, id)
                     90:     if REQUEST is not None:
                     91:         return self.manage_main(self, REQUEST)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>