ATLAS Offline Software
Loading...
Searching...
No Matches
python.Helpers.ShutUp Class Reference
Inheritance diagram for python.Helpers.ShutUp:
Collaboration diagram for python.Helpers.ShutUp:

Public Types

typedef HLT::TypeInformation::for_each_type_c< typenameEDMLIST::map, my_functor, my_result<>, my_arg< HLT::TypeInformation::get_cont, CONTAINER > >::type result

Public Member Functions

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

Public Attributes

 save_err = open( '/dev/null', 'w' )
 save_out = open( '/dev/null', 'w' )
 quiet_err = NamedTemporaryFile( suffix = ".msg.log" )
 quiet_out = NamedTemporaryFile( suffix = ".msg.log" )
 filters = filters

Static Public Attributes

list DefaultFilter

Protected Attributes

bool _dummy = False

Private Member Functions

 __filterRootMessages (self, fd)

Detailed Description

A little helper class to keep ROOT silent...

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

Member Typedef Documentation

◆ result

Definition at line 90 of file EDM_MasterSearch.h.

Constructor & Destructor Documentation

◆ __init__()

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__()

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__()

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__()

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()

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()

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()

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

bool python.Helpers.ShutUp._dummy = False
protected

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

◆ DefaultFilter

list python.Helpers.ShutUp.DefaultFilter
static
Initial value:
= [
re.compile("Warning in <TClass::TClass>: no dictionary for class."),
re.compile("Warning in <TEnvRec::ChangeValue>: duplicate entry."),
re.compile("Error in <TStreamerInfo::BuildOld>:."),
]

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

◆ filters

python.Helpers.ShutUp.filters = filters

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

◆ quiet_err

python.Helpers.ShutUp.quiet_err = NamedTemporaryFile( suffix = ".msg.log" )

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

◆ quiet_out

python.Helpers.ShutUp.quiet_out = NamedTemporaryFile( suffix = ".msg.log" )

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

◆ save_err

python.Helpers.ShutUp.save_err = open( '/dev/null', 'w' )

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

◆ save_out

python.Helpers.ShutUp.save_out = open( '/dev/null', 'w' )

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


The documentation for this class was generated from the following file: