# -*- coding: utf8 -*-
# Exemplo de alteração das funções de acesso aos atributos, gerando
# um log na saída padrão.
from time import *
class Depuracao(object):
def __getattribute__(self, nome):
atributo = super(Depuracao, self).__getattribute__(nome)
# Informa que o atributo foi buscado.
print 'Acessando atributo %s. Horário: ' % (nome),
print strftime("%a, %d %b %Y %H:%M:%S", localtime())
return atributo
def __setattr__(self, nome, valor):
super(Depuracao, self).__setattr__(nome, valor)
# Informa que o atributo foi modificado.
print 'Atributo', nome, 'modificado. Horário: ',
print strftime("%a, %d %b %Y %H:%M:%S", localtime())
syntax highlighted by Code2HTML, v. 0.9.1