Annotation of kupu/zope2/__init__.py, revision 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>