From 304488f520ecbcea352283a9b5c0c3c41ddf05b5 Mon Sep 17 00:00:00 2001 From: Vikraman Choudhury Date: Sat, 9 Jul 2011 22:39:25 +0530 Subject: per useflag stats --- server/app.py | 3 ++- server/templates/use.html | 11 ++------- server/templates/use_useflag.html | 8 +++++++ server/use.py | 48 ++++++++++++++++++++++++++++++++++----- 4 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 server/templates/use_useflag.html diff --git a/server/app.py b/server/app.py index 94dffdd..fa5d6a4 100755 --- a/server/app.py +++ b/server/app.py @@ -22,12 +22,13 @@ urls = ( r'/mirror', 'Mirror', r'/feature', 'Feature', r'/keyword', 'Keyword', - r'/use', 'Use', r'/repo', 'Repo', r'/lang', 'Lang', r'/package/(.+)/(.+)', 'Package', r'/package/(.+)', 'Package', r'/package', 'Package', + r'/use/(.+)', 'Use', + r'/use', 'Use', r'/host/(.+)', 'Host' ) diff --git a/server/templates/use.html b/server/templates/use.html index 209f8f8..bd2a3f7 100644 --- a/server/templates/use.html +++ b/server/templates/use.html @@ -1,11 +1,4 @@ $def with (use_data) -$var title: Use +$var title: Useflags - - - - - - $for use in use_data.keys(): - -
UseHosts
$use$use_data[use]['HOSTS']
+No. of useflags: $use_data['USE_COUNT'] diff --git a/server/templates/use_useflag.html b/server/templates/use_useflag.html new file mode 100644 index 0000000..4d27b4a --- /dev/null +++ b/server/templates/use_useflag.html @@ -0,0 +1,8 @@ +$def with (useflag, use_data) +$var title: Useflags + +Useflag: $useflag
+Globally enabled: $use_data['GLOBAL_COUNT'] hosts
+Enabled: $use_data['PLUS_COUNT'] packages
+Disabled: $use_data['MINUS_COUNT'] packages
+Unset: $use_data['UNSET_COUNT'] packages
diff --git a/server/use.py b/server/use.py index dfdcfaf..5b7a54d 100644 --- a/server/use.py +++ b/server/use.py @@ -2,9 +2,45 @@ from config import render, db class Use(object): - def GET(self): - use_count = db.query('SELECT USEFLAG,COUNT(UUID) AS HOSTS FROM GLOBAL_USEFLAGS NATURAL JOIN USEFLAGS GROUP BY USEFLAG') - use_data = dict() - for t in use_count: - use_data[t['USEFLAG']] = {'HOSTS':t['HOSTS']} - return render.use(use_data) + def GET(self, *args): + l = len(args) + if l == 0: + use_query = db.query('SELECT COUNT(DISTINCT UKEY) AS USE_COUNT FROM USEFLAGS') + use_tuple = use_query[0] + use_data = {'USE_COUNT':use_tuple['USE_COUNT']} + return render.use(use_data) + + elif l == 1: + global_use_query = db.query('SELECT COUNT(DISTINCT UUID) AS GLOBAL_COUNT\ + FROM GLOBAL_USEFLAGS RIGHT OUTER JOIN USEFLAGS\ + ON GLOBAL_USEFLAGS.UKEY = USEFLAGS.UKEY\ + WHERE USEFLAG=$useflag', vars={'useflag':args[0]}) + plus_use_query = db.query('SELECT COUNT(DISTINCT IPKEY) AS PLUS_COUNT\ + FROM PLUS_USEFLAGS RIGHT OUTER JOIN USEFLAGS\ + ON PLUS_USEFLAGS.UKEY = USEFLAGS.UKEY\ + WHERE USEFLAG=$useflag', vars={'useflag':args[0]}) + minus_use_query = db.query('SELECT COUNT(DISTINCT IPKEY) AS MINUS_COUNT\ + FROM MINUS_USEFLAGS RIGHT OUTER JOIN USEFLAGS\ + ON MINUS_USEFLAGS.UKEY = USEFLAGS.UKEY\ + WHERE USEFLAG=$useflag', vars={'useflag':args[0]}) + unset_use_query = db.query('SELECT COUNT(DISTINCT IPKEY) AS UNSET_COUNT\ + FROM UNSET_USEFLAGS RIGHT OUTER JOIN USEFLAGS\ + ON UNSET_USEFLAGS.UKEY = USEFLAGS.UKEY\ + WHERE USEFLAG=$useflag', vars={'useflag':args[0]}) + + global_use_tuple = global_use_query[0] + plus_use_tuple = plus_use_query[0] + minus_use_tuple = minus_use_query[0] + unset_use_tuple = unset_use_query[0] + + use_data = { + 'GLOBAL_COUNT':global_use_tuple['GLOBAL_COUNT'], + 'PLUS_COUNT':plus_use_tuple['PLUS_COUNT'], + 'MINUS_COUNT':minus_use_tuple['MINUS_COUNT'], + 'UNSET_COUNT':unset_use_tuple['UNSET_COUNT'] + } + + return render.use_useflag(args[0], use_data) + + else: + return config.internalerror() -- cgit v1.2.3-65-gdbad