ATLAS Offline Software
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
python.Helpers.ShutUp Class Reference
Inheritance diagram for python.Helpers.ShutUp:
Collaboration diagram for python.Helpers.ShutUp:

Public Member Functions

def __init__ (self, filters=DefaultFilter)
 
def __del__ (self)
 
def mute (self)
 
def unMute (self)
 
def __enter__ (self)
 
def __exit__ (self, exc_type, exc_val, exc_tb)
 

Public Attributes

 save_err
 
 save_out
 
 quiet_err
 
 quiet_out
 
 filters
 

Static Public Attributes

 DefaultFilter
 

Private Member Functions

def __filterRootMessages (self, fd)
 

Private Attributes

 _dummy
 

Detailed Description

A little helper class to keep ROOT silent...

Definition at line 49 of file Tools/PyUtils/python/Helpers.py.

Constructor & Destructor Documentation

◆ __init__()

def python.Helpers.ShutUp.__init__ (   self,
  filters = DefaultFilter 
)

Definition at line 58 of file Tools/PyUtils/python/Helpers.py.

58  def __init__(self, filters = DefaultFilter):
59  self._dummy = False # if dummy, we don't really shut-up ROOT...
60  if os.environ.get('PYUTILS_SHUTUP_DEBUG', '0') == '1':
61  self._dummy = True
62 
63  self.save_err = open( '/dev/null', 'w' )
64  self.save_out = open( '/dev/null', 'w' )
65  try:
66  self.quiet_err = NamedTemporaryFile( suffix = ".msg.log" )
67  self.quiet_out = NamedTemporaryFile( suffix = ".msg.log" )
68  except OSError:
69  # load problem ?
70  # retry a bit later... (in 2 seconds)
71  import time
72  time.sleep(2) #
73  try:
74  self.quiet_err = NamedTemporaryFile( suffix = ".msg.log" )
75  self.quiet_out = NamedTemporaryFile( suffix = ".msg.log" )
76  except OSError:
77  # then (implicitly) fallback on sys.stderr
78  self._dummy = True
79 
80  self.filters = filters
81 
82  if not self._dummy:
83  os.dup2( sys.stderr.fileno(), self.save_err.fileno() )
84  os.dup2( sys.stdout.fileno(), self.save_out.fileno() )
85  return
86 

◆ __del__()

def python.Helpers.ShutUp.__del__ (   self)

Definition at line 87 of file Tools/PyUtils/python/Helpers.py.

87  def __del__ (self):
88  self.save_err.close()
89  self.save_out.close()
90  return
91 

Member Function Documentation

◆ __enter__()

def python.Helpers.ShutUp.__enter__ (   self)

Definition at line 122 of file Tools/PyUtils/python/Helpers.py.

122  def __enter__(self):
123  return self.mute()

◆ __exit__()

def python.Helpers.ShutUp.__exit__ (   self,
  exc_type,
  exc_val,
  exc_tb 
)

Definition at line 124 of file Tools/PyUtils/python/Helpers.py.

124  def __exit__(self,exc_type, exc_val, exc_tb):
125  return self.unMute()
126 
127 
128 @cache

◆ __filterRootMessages()

def python.Helpers.ShutUp.__filterRootMessages (   self,
  fd 
)
private

Definition at line 108 of file Tools/PyUtils/python/Helpers.py.

108  def __filterRootMessages(self, fd):
109  fd.seek(0)
110  for l in fd.readlines():
111  l = l.decode()
112  printOut = True
113  for filter in self.filters:
114  if re.match(filter, l):
115  printOut = False
116  if printOut:
117  print ("PyRoot:",l.replace("\n",""))
118  pass
119  return
120 

◆ mute()

def python.Helpers.ShutUp.mute (   self)

Definition at line 92 of file Tools/PyUtils/python/Helpers.py.

92  def mute(self):
93  if not self._dummy:
94  os.dup2( self.quiet_err.fileno(), sys.stderr.fileno() )
95  os.dup2( self.quiet_out.fileno(), sys.stdout.fileno() )
96  return
97 

◆ unMute()

def python.Helpers.ShutUp.unMute (   self)

Definition at line 98 of file Tools/PyUtils/python/Helpers.py.

98  def unMute(self):
99  if not self._dummy:
100  os.dup2( self.save_err.fileno(), sys.stderr.fileno() )
101  os.dup2( self.save_out.fileno(), sys.stdout.fileno() )
102  self.__filterRootMessages(self.quiet_err)
103  self.quiet_err.seek(0)
104  self.__filterRootMessages(self.quiet_out)
105  self.quiet_out.seek(0)
106  return
107 

Member Data Documentation

◆ _dummy

python.Helpers.ShutUp._dummy
private

Definition at line 59 of file Tools/PyUtils/python/Helpers.py.

◆ DefaultFilter

python.Helpers.ShutUp.DefaultFilter
static

Definition at line 53 of file Tools/PyUtils/python/Helpers.py.

◆ filters

python.Helpers.ShutUp.filters

Definition at line 80 of file Tools/PyUtils/python/Helpers.py.

◆ quiet_err

python.Helpers.ShutUp.quiet_err

Definition at line 66 of file Tools/PyUtils/python/Helpers.py.

◆ quiet_out

python.Helpers.ShutUp.quiet_out

Definition at line 67 of file Tools/PyUtils/python/Helpers.py.

◆ save_err

python.Helpers.ShutUp.save_err

Definition at line 63 of file Tools/PyUtils/python/Helpers.py.

◆ save_out

python.Helpers.ShutUp.save_out

Definition at line 64 of file Tools/PyUtils/python/Helpers.py.


The documentation for this class was generated from the following file:
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
Trk::open
@ open
Definition: BinningType.h:40
python.AthDsoLogger.__del__
def __del__(self)
Definition: AthDsoLogger.py:81