Klassenname vom Aufruf herrausfinden...
Verfasst: Dienstag 7. Juni 2005, 17:20
(Hatte ich danach schon einmal gefragt?)
Ist es möglich herrauszufinden, von welcher Klasse eine Methode aufgerufen wird???
Das wäre für eine automatische LOG-Kategorie gut.
Hier mal Pseudocode:
Also ich möchte in der Klasse log() bei __call__() wissen, wie die Klasse heißt, von der aus die Methode aufgerufen wurde. Also in dem Falle entweder "login" oder "editor"...
Ansonsten muß ich in jeder Datei einen String mit der Kategorie setzten und den immer mit übergeben... Oder noch eine andere Lösung?
Ist es möglich herrauszufinden, von welcher Klasse eine Methode aufgerufen wird???
Das wäre für eine automatische LOG-Kategorie gut.
Hier mal Pseudocode:
Code: Alles auswählen
class log:
def __call__( self, msg ):
KATEGORIE = tollefunktiondiedenklassennamenherrausfindet()
file.write( KATEGORIE + msg )
class login:
def __init__( self, log_class ):
self.log = log_class
def checkUser():
if Username != db_Username:
self.log("Fehler!!!")
class editor:
def __init__( self, log_class ):
self.log = log_class
def edit( filename ):
self.log("Edit File" + filename)
class programm:
def __init__( self ):
self.log = log()
editor = editor( self.log )
login = login( self.log )
if login.checkUser() == True:
editor.edit( "wichtigebeispieldatei.txt" )
Ansonsten muß ich in jeder Datei einen String mit der Kategorie setzten und den immer mit übergeben... Oder noch eine andere Lösung?