Package SimPy :: Module Lister |
[hide private]
[frames] | no frames]

# Source Code for Module SimPy.Lister

     1  #!/usr/bin/env python
     2  # $Revision: 1.1.1.12 $ $Date: 2007/01/08 14:43:56 $ kgm
     3  """Lister 1.8
     4  Pretty-printer for SimPy class objects
     5  """
     6  __version__ = '1.8 $Revision: 1.1.1.12 $ $Date: 2007/01/08 14:43:56 $'
     7
     8 -class Lister(object):
     9      indent=0
    10 -    def __str__(self):
    11          Lister.indent+=1
    12          result= ("<Instance of %s, id %s:\n%s"%(self.__class__.__name__,
    13                                                 id(self),self.attrnames()))+"\t"*(Lister.indent-1)+">"
    14          Lister.indent-=1
    15          return result
    16
    17 -    def attrnames(self):
    18          result=''
    19          for attr in self.__dict__.keys():
    20              if attr[:2] == "__": #builtin
    21                  pass
    22              elif attr[0]=="_": #private
    23                  pass
    24              else:
    25                  result=result+"\t"*Lister.indent+".%s=%s\n" %(attr,self.__dict__[attr])
    26          return result
    27 -    def __repr__(self):
    28          Lister.indent+=1
    29          result= ("<Instance of %s, id %s:\n%s"%(self.__class__.__name__,
    30                                                 id(self),self.attrnames()))+"\t"*(Lister.indent-1)+">"
    31          Lister.indent-=1
    32          return result
    33