def disableDangerousCalls(ListOfModules=[]): blacklist={ 'gc':['get_objects'], 'sys':['modules'] } import __builtin__ for (module,attributes) in blacklist.iteritems(): for attr in attributes: __builtin__.delattr(__import__(module),attr)
def tearDownClass(cls): """ Restores deprecated values """ if cls.asset_deprecated is not None: setattr(AssetLocator, 'deprecated', cls.asset_deprecated) else: delattr(AssetLocator, 'deprecated') if cls.ssck_deprecated is not None: setattr(CourseLocator, 'deprecated', cls.ssck_deprecated) else: delattr(CourseLocator, 'deprecated') return super(TestContentstore, cls).tearDownClass()
def delattr(cls, obj, name): """ Overrides the builtin `delattr` function within LimitedExec scripts. This version checks that the given attribute is permissible. """ if name.startswith(config.names.LTDEXEC_PRIVATE_PREFIX): m = 'Cannot access attribute "{0}".'.format(name) raise exceptions.LXPrivateAttrError(m) elif name in cls.forbidden_attrs_set: m = 'Cannot access attribute "{0}".'.format(name) raise exceptions.ForbiddenAttrError(m) elif name in cls.unassignable_attrs_set: m = 'Cannot assign to attribute "{0}".'.format(name) raise exceptions.UnassignableAttrError(m) __builtin__.delattr(obj, name) #==============================================================================#