Deutsche Zope User Group
Gast 2 Benutzer online
DZUG-News

Import von Modulen in PythonScripts

Frage:

Ich m�chte innerhalb eines PythonScripts Standard Python Module wie "re" oder "os" benutzen. Beim Ausf�hren meldet Zope jedoch immer eine "Unauthorized" Exception.

Antwort:

Alle PythonScript werden innerhalb von Zope in einer Sandbox mit eingeschr�nkten Rechten ausgef�hrt. Nur eine kleine Anzahl von Modulen kann direkt importiert werden.

Wenn man andere Module zulassen will so mu� man den Instruktionen in "lib/python/Products/PythonScripts/README.txt" folgen:

  • unter lib/python/Products ein neues Verzeichnis "GlobalModules" anlegen
  • innerhalb des neuen Verzeichnisses eine Datei names "__init__.py" anlegen
  • editieren Sie __init__.py und rufen Sie die allow_module Methode auf (zu Importieren aus Products.PythonScripts.Utility).

    Beispiel:

              # Global module assertions for Python scripts
              from Products.PythonScripts.Utility import allow_module
    
              allow_module('base64')
              allow_module('re')
    

Wenn man vollen Zugriff auf alle Python Module ben�tigt, sollte man dr�ber nachdenken, ob man den Code nicht besser in einer ExternalMethod oder gleich in einem Filesystem-basierten Zope Produkt unterbringt.


Rubriken: PythonScripts    FAQ angelegt von: ajung, Letzte �nderung: 09.04.2003 07:07 Uhr