Zdravím, dneska budu ještě jednou otravovat. Michal Vyskočil mi poradil, jak přijít na jméno volané metody, za to mu díky, mně to hned posloužilo k realizování mého záměru, počítání kolikrát byla metoda zavolána, nevím jestli to neřeším úplně blbě.
Totiž, chci to využít na statisrtiky na mých webových stránkách, ve třídě která obsluhuje servírování dat z databáze a jejich renderování do šablon, mám pro články/kategorie/indexovou stránku vlastní metodu, takže mě napadlo, že vždy když někdo chce něco zobrazit, tak se tato metoda musí zavolat a tím pádem já tohle můžu sledovat a počítat podle toho, spolu s id volaného objektu z databáze které metoda dostane pak můžu určit co přesně bylo v požadavku. Takže co jsem vymyslel a funguje to: # -*- coding: utf-8 -*- from inspect import * results = dict() def check(classname): class_name = classname() method_name = stack(class_name)[1][3] if not method_name in results.keys(): results[method_name] = 1 else: results[method_name] += 1 def print_results(): for key,value in results.iteritems(): print '%s - %s' % (key, value) class App1: def foo(self): check(self.__class__) def bar(self): check(self.__class__) App1().bar() App1().bar() App1().bar() App1().bar() App1().foo() print_results() Vrací to správný výsledek, jenom se bojím, že moje myšlenka je úplně špatná, takže prosím o kritiku. Děkuji. _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python