diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-05-07 19:14:14 +0000 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-05-07 19:14:14 +0000 |
commit | 34c044ff5b7af76c4b65c63e1923183a9957de2e (patch) | |
tree | 32152a05a05d145432cffb7147bceeb6551bdcc7 /Demo/metaclasses/Simple.py | |
parent | 993527485ebb3f8a7e8759ab480547a0b61b82eb (diff) | |
download | cpython-git-34c044ff5b7af76c4b65c63e1923183a9957de2e.tar.gz |
remove old metaclass demos
Diffstat (limited to 'Demo/metaclasses/Simple.py')
-rw-r--r-- | Demo/metaclasses/Simple.py | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/Demo/metaclasses/Simple.py b/Demo/metaclasses/Simple.py deleted file mode 100644 index 8878adedb4..0000000000 --- a/Demo/metaclasses/Simple.py +++ /dev/null @@ -1,45 +0,0 @@ -import types - -class Tracing: - def __init__(self, name, bases, namespace): - """Create a new class.""" - self.__name__ = name - self.__bases__ = bases - self.__namespace__ = namespace - def __call__(self): - """Create a new instance.""" - return Instance(self) - -class Instance: - def __init__(self, klass): - self.__klass__ = klass - def __getattr__(self, name): - try: - value = self.__klass__.__namespace__[name] - except KeyError: - raise AttributeError(name) - if type(value) is not types.FunctionType: - return value - return BoundMethod(value, self) - -class BoundMethod: - def __init__(self, function, instance): - self.function = function - self.instance = instance - def __call__(self, *args): - print("calling", self.function, "for", self.instance, "with", args) - return self.function(self.instance, *args) - -Trace = Tracing('Trace', (), {}) - -class MyTracedClass(Trace): - def method1(self, a): - self.a = a - def method2(self): - return self.a - -aninstance = MyTracedClass() - -aninstance.method1(10) - -print(aninstance.method2()) |