msg += ' ' + d + trunc
log.info('{dflag} {msgcore}', dflag=dflag, msgcore=msg)
+def logevent_is_boringtwisted(event):
+ try:
+ if event.get('log_level') != LogLevel.info:
+ return False
+ dflag = event.get('dflag')
+ if dflag is False : return False
+ if dflag in debug_set: return False
+ if dflag is None and DBG.TWISTED in debug_set: return False
+ return True
+ except Exception:
+ print(traceback.format_exc(), file=org_stderr)
+ return False
+
@implementer(twisted.logger.ILogFilterPredicate)
class LogNotBoringTwisted:
def __call__(self, event):
- yes = twisted.logger.PredicateResult.yes
- no = twisted.logger.PredicateResult.no
- try:
- if event.get('log_level') != LogLevel.info:
- return yes
- dflag = event.get('dflag')
- if dflag is False : return yes
- if dflag in debug_set: return yes
- if dflag is None and DBG.TWISTED in debug_set: return yes
- return no
- except Exception:
- print(traceback.format_exc(), file=org_stderr)
- return yes
+ return (
+ twisted.logger.PredicateResult.no
+ if logevent_is_boringtwisted(event) else
+ twisted.logger.PredicateResult.yes
+ )
#---------- default config ----------
# is a directory
log('directory')
re = regexp.compile('[^-A-Za-z0-9_]')
- for f in os.listdir(cdir):
+ for f in os.listdir(pathname):
if re.search(f): continue
subpath = pathname + '/' + f
try:
need_defcfg = False
readconfig(value)
+ def oc_extra_config(od,os, value, op):
+ readconfig(value)
+
def read_defconfig():
readconfig('/etc/hippotat/config.d', False)
readconfig('/etc/hippotat/passwords.d', False)
readconfig('/etc/hippotat/master.cfg', False)
+ def oc_defconfig(od,os, value, op):
+ nonlocal need_defcfg
+ need_defcfg = False
+ read_defconfig(value)
+
def dfs_less_detailed(dl):
return [df for df in DBG.iterconstants() if df <= dl]
action='callback',
callback= oc_config)
+ optparser.add_option('--extra-config',
+ nargs=1,
+ type='string',
+ metavar='CONFIGFILE',
+ dest='configfile',
+ action='callback',
+ callback= oc_extra_config)
+
+ optparser.add_option('--default-config',
+ action='callback',
+ callback= oc_defconfig)
+
(opts, args) = optparser.parse_args()
if len(args): optparser.error('no non-option arguments please')