[python] Dekorátor a přístup do jmenného prostoru třídy

Martin Stiborský martin.stiborsky na gmail.com
Středa Červenec 23 19:13:54 CEST 2008


Zdravím, potřeboval bych pomoct s problémem, rovnou sem šoupnu kousek
kódu a pak to popíšu.

#!/usr/bin/python

def dekorator():
  def decorate(fce):
    def wrapper(*args, **kwargs):
      print "ook"
    return wrapper
  return decorate

class Foo:
  def __init__(self):
    self.bar = "promenna"

  @dekorator()
  def metoda(self):
    print "ja jsem metoda"

app = Foo()
app.metoda()


Potřeboval bych, aby dekorátor měl přístup k self.bar, aby mohl číst
co je zrovna v té proměnné, na aktuální funkčnost nekoukejte, jenom
jsem chtěl nastínit jak to vypadá. Nevím jak to napsat tak, aby se ten
dekorátor k tomu dostal :( Potřeboval bych totiž uvnitř dekorátoru s
onou self.bar pracovat ..

Díky za pomoc.

-- 
S pozdravem
Martin Stiborský

Jabber: stibi na njs.netlab.cz
ICQ: 224-065-849


Další informace o konferenci Python