Skip to content

Commit

Permalink
New module to help people access modules from Scripts.
Browse files Browse the repository at this point in the history
  • Loading branch information
Evan Simpson committed Feb 27, 2001
1 parent 2a86283 commit a559f8f
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions module_access_examples.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
'''Examples for enabling Script import
This file contains example code that can be used to make various
standard Python modules available to Scripts.
In order to use the example code, create a directory called
"MyScriptModules", or something equally descriptive, in your
Zope's "Products" directory. Copy this file to a file called
"__init__.py" in the new directory. Edit the new file,
uncommenting the block of code for each module that you want to
make available for import by Scripts.
You can, of course, add your own code to your "__init__.py" for
modules that are not listed below. The list is not comprehensive,
but is provided as a decent cross-section of modules.
'''

from Products.PythonScripts.Utility import allow_module, allow_class
from AccessControl import ModuleSecurityInfo, ClassSecurityInfo
from Globals import InitializeClass


# These modules are pretty safe


# allow_module('base64')

# allow_module('binascii')

# allow_module('bisect')

# allow_module('colorsys')

# allow_module('crypt')


# Only parts of these modules should be exposed


# ModuleSecurityInfo('fnmatch').declarePublic('fnmatch', 'fnmatchcase')

# ModuleSecurityInfo('re').declarePublic('compile', 'findall',
# 'match', 'search', 'split', 'sub', 'subn', 'error',
# 'I', 'L', 'M', 'S', 'X')
# from re import RegexObject, MatchObject
# allow_class(RegexObject)
# allow_class(MatchObject)

# ModuleSecurityInfo('StringIO').declarePublic('StringIO')


# These modules allow access to other servers


# ModuleSecurityInfo('ftplib').declarePublic('FTP', 'all_errors',
# 'error_reply', 'error_temp', 'error_perm', 'error_proto')
# from ftplib import FTP
# allow_class(FTP)

# ModuleSecurityInfo('httplib').declarePublic('HTTP')
# from httplib import HTTP
# allow_class(HTTP)

# ModuleSecurityInfo('nntplib').declarePublic('NNTP',
# 'error_reply', 'error_temp', 'error_perm', 'error_proto')
# from httplib import NNTP
# allow_class(NNTP)





0 comments on commit a559f8f

Please sign in to comment.