mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 06:42:16 +00:00
Move tools to management commands (non-working ones), switch manage.py to use venv
This commit is contained in:
102
tools/management/commands/munin.py
Executable file
102
tools/management/commands/munin.py
Executable file
@@ -0,0 +1,102 @@
|
||||
#!/usr/bin/env python
|
||||
import os
|
||||
|
||||
# Set niceness
|
||||
os.nice(20)
|
||||
|
||||
# Activate the virtualenv
|
||||
path = os.path.dirname(os.path.realpath(__file__))
|
||||
activate_this = os.path.join(path, 'env/bin/activate_this.py')
|
||||
execfile(activate_this, dict(__file__=activate_this))
|
||||
|
||||
import sys
|
||||
import logging
|
||||
from django.core.management import setup_environ
|
||||
import settings
|
||||
|
||||
setup_environ(settings)
|
||||
|
||||
import getopt
|
||||
|
||||
from django.db.models import Count
|
||||
from eve_api.app_defines import *
|
||||
from eve_api.models import EVEAccount, EVEPlayerCorporation
|
||||
|
||||
from hr.app_defines import *
|
||||
from hr.models import Application
|
||||
|
||||
from eve_proxy.models import CachedDocument
|
||||
|
||||
accepted_names = ['munin.py', 'auth_apikeys', 'auth_hrapplications',
|
||||
'auth_eveapicache']
|
||||
|
||||
|
||||
class Usage(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def main(argv=None):
|
||||
if argv is None:
|
||||
argv = sys.argv
|
||||
|
||||
if os.path.basename(argv[0]) in accepted_names:
|
||||
execname = os.path.basename(argv[0])
|
||||
else:
|
||||
print argv[0]
|
||||
print >> sys.stderr, "Invalid symlink name, check the source"
|
||||
return 2
|
||||
try:
|
||||
try:
|
||||
opts, args = getopt.getopt(argv[1:], "", ["config"])
|
||||
except getopt.error, msg:
|
||||
raise Usage(msg)
|
||||
# more code, unchanged
|
||||
except Usage, err:
|
||||
print >> sys.stderr, "Invalid usage"
|
||||
return 2
|
||||
|
||||
for arg in args:
|
||||
if arg == 'config':
|
||||
if execname == 'auth_apikeys':
|
||||
print "graph_title Auth Active EVE API Keys"
|
||||
print "graph_vlabel Keys"
|
||||
print "graph_category auth"
|
||||
print "keys.label Keys"
|
||||
print "graph_args --base 1000"
|
||||
return 0
|
||||
if execname == 'auth_hrapplications':
|
||||
print "graph_title Auth - Open Applications"
|
||||
print "graph_vlabel Applications"
|
||||
print "graph_category auth"
|
||||
|
||||
for i, n in EVEPlayerCorporation.objects.filter(applications=True).values_list('id', 'name'):
|
||||
print "%s.label %s" % (i, n)
|
||||
print "%s.warning 10" % i
|
||||
print "%s.critical 20" % i
|
||||
print "graph_args --base 1000"
|
||||
return 0
|
||||
if execname == 'auth_eveapicache':
|
||||
print "graph_title Auth - Cached EVE API Requests"
|
||||
print "graph_vlabel Cached Requests"
|
||||
print "graph_category auth"
|
||||
print "requests.label Cached Requests"
|
||||
print "graph_args --base 1000"
|
||||
return 0
|
||||
|
||||
|
||||
if execname == 'auth_apikeys':
|
||||
key_count = EVEAccount.objects.filter(api_status=API_STATUS_OK).count()
|
||||
print "keys.value %s" % key_count
|
||||
elif execname == 'auth_hrapplications':
|
||||
view_status = [APPLICATION_STATUS_AWAITINGREVIEW,
|
||||
APPLICATION_STATUS_ACCEPTED, APPLICATION_STATUS_QUERY, APPLICATION_STATUS_FLAGGED]
|
||||
|
||||
corps = EVEPlayerCorporation.objects.filter(applications=True, application__status__in=view_status).annotate(num_apps=Count('application')).values_list('id', 'num_apps')
|
||||
for c,n in corps:
|
||||
print "%s.value %s" % (c, n)
|
||||
elif execname == 'auth_eveapicache':
|
||||
print "requests.value %s" % CachedDocument.objects.count()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user