[Zope-Checkins] CVS: Zope2 - __init__.py:1.3

andreas@serenade.digicool.com andreas@serenade.digicool.com
Fri, 1 Jun 2001 08:47:49 -0400


Update of /cvs-repository/Zope2/lib/python/Products/PluginIndexes
In directory serenade:/tmp/cvs-serv27807

Modified Files:
	__init__.py 
Log Message:
code cleanup



--- Updated File __init__.py in package Zope2 --
--- __init__.py	2001/05/30 15:57:31	1.2
+++ __init__.py	2001/06/01 12:47:49	1.3
@@ -1,68 +1,122 @@
+##############################################################################
+# 
+# Zope Public License (ZPL) Version 1.0
+# -------------------------------------
+# 
+# Copyright (c) Digital Creations.  All rights reserved.
+# 
+# This license has been certified as Open Source(tm).
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+# 
+# 1. Redistributions in source code must retain the above copyright
+#    notice, this list of conditions, and the following disclaimer.
+# 
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions, and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 
+# 3. Digital Creations requests that attribution be given to Zope
+#    in any manner possible. Zope includes a "Powered by Zope"
+#    button that is installed by default. While it is not a license
+#    violation to remove this button, it is requested that the
+#    attribution remain. A significant investment has been put
+#    into Zope, and this effort will continue if the Zope community
+#    continues to grow. This is one way to assure that growth.
+# 
+# 4. All advertising materials and documentation mentioning
+#    features derived from or use of this software must display
+#    the following acknowledgement:
+# 
+#      "This product includes software developed by Digital Creations
+#      for use in the Z Object Publishing Environment
+#      (http://www.zope.org/)."
+# 
+#    In the event that the product being advertised includes an
+#    intact Zope distribution (with copyright and license included)
+#    then this clause is waived.
+# 
+# 5. Names associated with Zope or Digital Creations must not be used to
+#    endorse or promote products derived from this software without
+#    prior written permission from Digital Creations.
+# 
+# 6. Modified redistributions of any form whatsoever must retain
+#    the following acknowledgment:
+# 
+#      "This product includes software developed by Digital Creations
+#      for use in the Z Object Publishing Environment
+#      (http://www.zope.org/)."
+# 
+#    Intact (re-)distributions of any official Zope release do not
+#    require an external acknowledgement.
+# 
+# 7. Modifications are encouraged but must be packaged separately as
+#    patches to official Zope releases.  Distributions that do not
+#    clearly separate the patches from the original work must be clearly
+#    labeled as unofficial distributions.  Modifications which do not
+#    carry the name Zope may be packaged in any form, as long as they
+#    conform to all of the clauses above.
+# 
+# 
+# Disclaimer
+# 
+#   THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
+#   EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+#   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+#   PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
+#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+#   SUCH DAMAGE.
+# 
+# 
+# This software consists of contributions made by Digital Creations and
+# many individuals on behalf of Digital Creations.  Specific
+# attributions are listed in the accompanying credits file.
+# 
+##############################################################################
+
 import common.PluggableIndex as PluggableIndex
 import common.ResultList     as ResultList
 import common.UnIndex        as UnIndex
 
-from Globals import DTMLFile
 
 import PathIndex.PathIndex 
 import TextIndex.TextIndex 
 import FieldIndex.FieldIndex
 import KeywordIndex.KeywordIndex
 
-def initialize(context):
 
-    context.registerClass(
-        PathIndex.PathIndex.PathIndex,
-        permission='Add Pluggable Index',
-        constructors=(manage_addPathIndexForm,
-                      manage_addPathIndex),
-        icon="www/index.gif",
-        visibility=None
-    )
-
-    context.registerClass(
-        TextIndex.TextIndex.TextIndex,
-        permission='Add Pluggable Index',
-        constructors=(manage_addTextIndexForm,
-                      manage_addTextIndex),
-        icon="www/index.gif",
-        visibility=None
-    )
-
-    context.registerClass(
-        FieldIndex.FieldIndex.FieldIndex,
-        permission='Add Pluggable Index',
-        constructors=(manage_addFieldIndexForm,
-                      manage_addFieldIndex),
-        icon="www/index.gif",
-        visibility=None
-    )
-
-
-    context.registerClass(
-        KeywordIndex.KeywordIndex.KeywordIndex,
-        permission='Add Pluggable Index',
-        constructors=(manage_addKeywordIndexForm,
-                      manage_addKeywordIndex),
-        icon="www/index.gif",
-        visibility=None
-    )
+_indexes =  ['TextIndex','KeywordIndex','FieldIndex','PathIndex']
 
+def initialize(context):
 
-    context.registerHelp()
-    context.registerHelpTitle('Indexes (Pluggable)')
+    for idx in _indexes:
 
-manage_addTextIndexForm = TextIndex.TextIndex.manage_addTextIndexForm
-manage_addTextIndex     = TextIndex.TextIndex.manage_addTextIndex
+        s = "context.registerClass( \
+            %s.%s.%s,\
+            permission='Add Pluggable Index', \
+            constructors=(manage_add%sForm,\
+                          manage_add%s),\
+            icon='www/index.gif',\
+            visibility=None\
+         )" % (idx,idx,idx,idx,idx)
 
-manage_addPathIndexForm = PathIndex.PathIndex.manage_addPathIndexForm
-manage_addPathIndex     = PathIndex.PathIndex.manage_addPathIndex
+        exec(s)
 
-manage_addFieldIndexForm = FieldIndex.FieldIndex.manage_addFieldIndexForm
-manage_addFieldIndex     = FieldIndex.FieldIndex.manage_addFieldIndex
+    context.registerHelp()
+    context.registerHelpTitle('Indexes (Pluggable)')
 
-manage_addKeywordIndexForm = KeywordIndex.KeywordIndex.manage_addKeywordIndexForm
-manage_addKeywordIndex     = KeywordIndex.KeywordIndex.manage_addKeywordIndex
 
+for idx in _indexes:
 
+    exec("manage_add%sForm = %s.%s.manage_add%sForm" % (idx,idx,idx,idx))
+    exec("manage_add%s     = %s.%s.manage_add%s" % (idx,idx,idx,idx))