Commit e35a6607 authored by Klaus Wölfel's avatar Klaus Wölfel

Allow to use pd.DataFrame class functions and access recarray in sanbox

parent 89020e26
......@@ -29,7 +29,7 @@
Wendelin is a product containing general purpose tools to handle big
data manipulations.
"""
from AccessControl import allow_module, allow_type
from AccessControl import allow_module, allow_type, allow_class
# we neeed to allow access to numpy's internal types
import numpy as np
......@@ -46,6 +46,10 @@ for dtype in ('int8', 'int16', 'int32', 'int64', \
allow_type(type(sz[0]))
allow_type(type(sz))
rz = np.rec.array(np.array([(0,)], dtype = [('f0', dtype)]))
allow_type(type(rz[0]))
allow_type(type(rz))
allow_module('sklearn')
allow_module('scipy')
......@@ -61,11 +65,14 @@ allow_type(pd.Timestamp)
allow_type(pd.DatetimeIndex)
allow_type(pd.DataFrame)
allow_class(pd.DataFrame)
# Modify 'safetype' dict in full_write_guard function
# of RestrictedPython (closure) directly To allow
# write access to ndarray and ZBigArray objects
from RestrictedPython.Guards import full_write_guard
full_write_guard.func_closure[1].cell_contents.__self__[np.ndarray] = True
full_write_guard.func_closure[1].cell_contents.__self__[np.core.records.recarray] = True
from wendelin.bigarray.array_zodb import ZBigArray
full_write_guard.func_closure[1].cell_contents.__self__[ZBigArray] = True
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment