Bonjour,
J'ai défini une classe générique appelée par deux autres instances de classes. Je voudrais savoir qui appelle cette classe générique afin de différencier certains traitements. Je ne sais pas comment tester l'instance appellante, ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
class GenericPanel__:
   def __init__(self)
      print "classe appelante : ",self.__class__,"   type=",type(self.__class__)
J'obtiens les traces suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
1er appel :
classe appelante : <HMI.panel.Panel__   <type 'classobj'>
2eme appel:
classe appelante : <HMI.detailbox.DetailBox__   <type 'classobj'>
Je recherche le test qui me permettrait de différencier les deux appels (si je mets la string "HMI_panel.Panel__" cela ne marche pas) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class GenericPanel__:
   def __init__(self)
      if self.__class__ == ???:
         print "l'appelant est  HMI.panel.Panel__"
      else:
         print "l'appelant est  HMI.detailbox.DetailBox__"
Merci