[ Index ]
 

Code source de Kupu-1.3.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/zope2/ -> __init__.py (source)

   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)


Généré le : Sun Feb 25 15:30:41 2007 par Balluche grâce à PHPXref 0.7