utils/const.py: fix ident
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
parent
532278b4dd
commit
a35c432671
@ -1,40 +1,37 @@
|
|||||||
# Copyright 2013 Eygene A. Ryabinkin.
|
# Copyright (C) 2013-2014 Eygene A. Ryabinkin and contributors
|
||||||
#
|
#
|
||||||
# Collection of classes that implement const-like behaviour
|
# Collection of classes that implement const-like behaviour
|
||||||
# for various objects.
|
# for various objects.
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
|
|
||||||
class ConstProxy (object):
|
class ConstProxy(object):
|
||||||
"""
|
"""Implements read-only access to a given object
|
||||||
Implements read-only access to a given object
|
that can be attached to each instance only once."""
|
||||||
that can be attached to each instance only once.
|
|
||||||
|
|
||||||
"""
|
def __init__(self):
|
||||||
|
self.__dict__['__source'] = None
|
||||||
def __init__ (self):
|
|
||||||
self.__dict__['__source'] = None
|
|
||||||
|
|
||||||
|
|
||||||
def __getattr__ (self, name):
|
def __getattr__(self, name):
|
||||||
src = self.__dict__['__source']
|
src = self.__dict__['__source']
|
||||||
if src == None:
|
if src == None:
|
||||||
raise ValueError ("using non-initialized ConstProxy() object")
|
raise ValueError("using non-initialized ConstProxy() object")
|
||||||
return copy.deepcopy (getattr (src, name))
|
return copy.deepcopy(getattr(src, name))
|
||||||
|
|
||||||
|
|
||||||
def __setattr__ (self, name, value):
|
def __setattr__(self, name, value):
|
||||||
raise AttributeError ("tried to set '%s' to '%s' for constant object" % \
|
raise AttributeError("tried to set '%s' to '%s' for constant object"% \
|
||||||
(name, value))
|
(name, value))
|
||||||
|
|
||||||
|
|
||||||
def __delattr__ (self, name):
|
def __delattr__(self, name):
|
||||||
raise RuntimeError ("tried to delete field '%s' from constant object" % \
|
raise RuntimeError("tried to delete field '%s' from constant object"% \
|
||||||
(name))
|
(name))
|
||||||
|
|
||||||
|
|
||||||
def set_source (self, source):
|
def set_source(self, source):
|
||||||
""" Sets source object for this instance. """
|
""" Sets source object for this instance. """
|
||||||
if (self.__dict__['__source'] != None):
|
if (self.__dict__['__source'] != None):
|
||||||
raise ValueError ("source object is already set")
|
raise ValueError("source object is already set")
|
||||||
self.__dict__['__source'] = source
|
self.__dict__['__source'] = source
|
||||||
|
Loading…
Reference in New Issue
Block a user