diff options
| author | makefu <github@syntax-fehler.de> | 2014-08-11 23:16:45 +0200 | 
|---|---|---|
| committer | makefu <github@syntax-fehler.de> | 2014-08-11 23:16:45 +0200 | 
| commit | bed9bcd8c0217a9f3e80ee99e396ae778c2328d6 (patch) | |
| tree | d3168bc6b5567deba3bec10b078e017468e6467c | |
| parent | 95f1c89ed9e9717f6bfdf243e1f630af9d1d515c (diff) | |
| parent | 2bcb24199008ae2852af9a62e12959da5f67411b (diff) | |
Merge branch 'master' of ssh://github.com/krebscode/painload
| -rwxr-xr-x | Reaktor/commands/nag | 31 | ||||
| -rw-r--r-- | Reaktor/config.py | 16 | 
2 files changed, 32 insertions, 15 deletions
| diff --git a/Reaktor/commands/nag b/Reaktor/commands/nag index e552e11c..8962d9fb 100755 --- a/Reaktor/commands/nag +++ b/Reaktor/commands/nag @@ -35,17 +35,34 @@ diff -u nag.hosts.ls nag.services.ls > nag.patch || :  missing_services=$(sed -n '1d;2d;s/^-\(.*\)/\1/p' nag.patch | tr '\n' ' ')  obsolete_services=$(sed -n '1d;2d;s/^+\(.*\)/\1/p' nag.patch | tr '\n' ' ') +if test "${inspect_services-false}" = true; then +  missing_owners=$(set +f; cd nag.services && grep '^owner:$' * | cut -d: -f1) +  missing_mailtos=$(set +f; cd nag.services && grep '^mailto:$' * | cut -d: -f1) +fi + +nag_missing_services='missing services' +nag_obsolete_services='obsolete services' +nag_missing_owners='services with missing owner entry' +nag_missing_mailtos='services with missing mailto entry'  #  # output  # -if test -n "$missing_services"; then -  echo missing services: $missing_services -fi -if test -n "$obsolete_services"; then -  echo obsolete services: $obsolete_services -fi +did_nag=false +for i in \ +    missing_services \ +    obsolete_services \ +    missing_owners \ +    missing_mailtos +do +  eval "offenders=\$$i; nag_msg=\$nag_$i" +  if test -n "$offenders"; then +    echo $nag_msg: $offenders +    did_nag=true +  fi +done +  # if asked directly, answer if there is nothing to nag about -if test -z "$missing_services$obsolete_services" -a -n "${_from:-}";then +if test $did_nag = false -a -n "${_from:-}";then    echo "nothing to nag about"  fi diff --git a/Reaktor/config.py b/Reaktor/config.py index 9feecbaf..8a83b28e 100644 --- a/Reaktor/config.py +++ b/Reaktor/config.py @@ -21,6 +21,12 @@ irc_channels = [  admin_file=workdir+'/admin.lst'  auth_file=workdir+'/auth.lst' +nag_env={ +  'hosts_repo': 'https://github.com/krebscode/hosts', +  'services_repo': 'gitolite@localhost:services', +  'inspect_services': 'false' +} +  config_filename = abspath(__file__)  # me is used, so name cannot kill our patterns below @@ -58,10 +64,7 @@ public_commands = [    default_command('tell', cmd='tell-on_privmsg', env={      'state_file': workdir + '/tell.txt'    }), -  default_command('nag',env={ -      'hosts_repo': 'https://github.com/krebscode/hosts', -      'services_repo': 'gitolite@localhost:services' -    }), +  default_command('nag', env=nag_env),    simple_command('identify', env={      'config_filename': config_filename    }), @@ -89,10 +92,7 @@ on_ping = [    {      'capname': 'nag',      'argv': [ 'commands/nag' ], -    'env': { -      'hosts_repo': 'https://github.com/krebscode/hosts', -      'services_repo': 'gitolite@localhost:services' -    }, +    'env': nag_env,      'targets': irc_channels    }  ] | 
