aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorVikraman Choudhury <vikraman.choudhury@gmail.com>2011-07-03 23:33:33 +0530
committerVikraman Choudhury <vikraman.choudhury@gmail.com>2011-07-03 23:33:33 +0530
commitf5f0837b3bb3a7bdbf3adde70a6defcb3819c602 (patch)
treeb4c908631f152dea7d5a04cb245ab2c88bdd3c30 /server
parentupdate module name to app in tests (diff)
downloadgentoostats-f5f0837b3bb3a7bdbf3adde70a6defcb3819c602.tar.gz
gentoostats-f5f0837b3bb3a7bdbf3adde70a6defcb3819c602.tar.bz2
gentoostats-f5f0837b3bb3a7bdbf3adde70a6defcb3819c602.zip
more stats pages
Diffstat (limited to 'server')
-rwxr-xr-xserver/app.py16
-rw-r--r--server/arch.py10
-rw-r--r--server/feature.py10
-rw-r--r--server/kwd.py10
-rw-r--r--server/lang.py10
-rw-r--r--server/mirror.py10
-rw-r--r--server/profile.py10
-rw-r--r--server/repo.py10
-rw-r--r--server/templates/arch.html11
-rw-r--r--server/templates/feature.html11
-rw-r--r--server/templates/keyword.html12
-rw-r--r--server/templates/lang.html11
-rw-r--r--server/templates/mirror.html11
-rw-r--r--server/templates/profile.html11
-rw-r--r--server/templates/repo.html12
-rw-r--r--server/templates/use.html11
-rw-r--r--server/use.py10
17 files changed, 186 insertions, 0 deletions
diff --git a/server/app.py b/server/app.py
index 89ade62..ba77639 100755
--- a/server/app.py
+++ b/server/app.py
@@ -4,10 +4,26 @@ import web
import config
from config import render
from index import Index
+from arch import Arch
+from profile import Profile
+from mirror import Mirror
+from feature import Feature
+from kwd import Keyword
+from use import Use
+from repo import Repo
+from lang import Lang
from host import Host
urls = (
r'/', 'Index',
+ r'/arch', 'Arch',
+ r'/profile', 'Profile',
+ r'/mirror', 'Mirror',
+ r'/feature', 'Feature',
+ r'/keyword', 'Keyword',
+ r'/use', 'Use',
+ r'/repo', 'Repo',
+ r'/lang', 'Lang',
r'/host/(.+)', 'Host'
)
diff --git a/server/arch.py b/server/arch.py
new file mode 100644
index 0000000..a389b8f
--- /dev/null
+++ b/server/arch.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Arch(object):
+ def GET(self):
+ arch_count = db.select('ENV', what='ARCH, COUNT(UUID) AS HOSTS', group='ARCH')
+ arch_data = dict()
+ for t in arch_count:
+ arch_data[t['ARCH']] = {'HOSTS':t['HOSTS']}
+ return render.arch(arch_data)
diff --git a/server/feature.py b/server/feature.py
new file mode 100644
index 0000000..4b79da5
--- /dev/null
+++ b/server/feature.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Feature(object):
+ def GET(self):
+ feature_count = db.query('SELECT FEATURE,COUNT(UUID) AS HOSTS FROM HOST_FEATURES NATURAL JOIN FEATURES GROUP BY FEATURE')
+ feature_data = dict()
+ for t in feature_count:
+ feature_data[t['FEATURE']] = {'HOSTS':t['HOSTS']}
+ return render.feature(feature_data)
diff --git a/server/kwd.py b/server/kwd.py
new file mode 100644
index 0000000..88fc799
--- /dev/null
+++ b/server/kwd.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Keyword(object):
+ def GET(self):
+ keyword_count = db.query('SELECT KEYWORD, COUNT(DISTINCT IPKEY) AS PACKAGES, COUNT(DISTINCT UUID) AS HOSTS FROM GLOBAL_KEYWORDS NATURAL JOIN KEYWORDS NATURAL JOIN INSTALLED_PACKAGES GROUP BY KEYWORD')
+ keyword_data = dict()
+ for t in keyword_count:
+ keyword_data[t['KEYWORD']] = {'HOSTS':t['HOSTS'],'PACKAGES':t['PACKAGES']}
+ return render.keyword(keyword_data)
diff --git a/server/lang.py b/server/lang.py
new file mode 100644
index 0000000..3f4ebfb
--- /dev/null
+++ b/server/lang.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Lang(object):
+ def GET(self):
+ lang_count = db.query('SELECT LANG,COUNT(UUID) AS HOSTS FROM HOST_LANG NATURAL JOIN LANG GROUP BY LANG')
+ lang_data = dict()
+ for t in lang_count:
+ lang_data[t['LANG']] = {'HOSTS':t['HOSTS']}
+ return render.lang(lang_data)
diff --git a/server/mirror.py b/server/mirror.py
new file mode 100644
index 0000000..7084831
--- /dev/null
+++ b/server/mirror.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Mirror(object):
+ def GET(self):
+ mirror_count = db.query('SELECT MIRROR,COUNT(UUID) AS HOSTS FROM HOST_MIRRORS NATURAL JOIN GENTOO_MIRRORS GROUP BY MIRROR')
+ mirror_data = dict()
+ for t in mirror_count:
+ mirror_data[t['MIRROR']] = {'HOSTS':t['HOSTS']}
+ return render.mirror(mirror_data)
diff --git a/server/profile.py b/server/profile.py
new file mode 100644
index 0000000..211963c
--- /dev/null
+++ b/server/profile.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Profile(object):
+ def GET(self):
+ profile_count = db.select('ENV', what='PROFILE, COUNT(UUID) AS HOSTS', group='PROFILE')
+ profile_data = dict()
+ for t in profile_count:
+ profile_data[t['PROFILE']] = {'HOSTS':t['HOSTS']}
+ return render.profile(profile_data)
diff --git a/server/repo.py b/server/repo.py
new file mode 100644
index 0000000..4348248
--- /dev/null
+++ b/server/repo.py
@@ -0,0 +1,10 @@
+
+from config import render, db
+
+class Repo(object):
+ def GET(self):
+ repo_count = db.query('select REPO,COUNT(DISTINCT IPKEY) AS PACKAGES,COUNT(DISTINCT UUID) AS HOSTS from INSTALLED_PACKAGES natural join REPOSITORIES group by REPO')
+ repo_data = dict()
+ for t in repo_count:
+ repo_data[t['REPO']] = {'HOSTS':t['HOSTS'], 'PACKAGES':t['PACKAGES']}
+ return render.repo(repo_data)
diff --git a/server/templates/arch.html b/server/templates/arch.html
new file mode 100644
index 0000000..535399c
--- /dev/null
+++ b/server/templates/arch.html
@@ -0,0 +1,11 @@
+$def with (arch_data)
+$var title: Arch
+
+<table border="1">
+ <tr>
+ <th>Arch</th>
+ <th>Hosts</th>
+ </tr>
+ $for arch in arch_data.keys():
+ <tr><td>$arch</td><td>$arch_data[arch]['HOSTS']</td></tr>
+</table>
diff --git a/server/templates/feature.html b/server/templates/feature.html
new file mode 100644
index 0000000..03c4bbd
--- /dev/null
+++ b/server/templates/feature.html
@@ -0,0 +1,11 @@
+$def with (feature_data)
+$var title: Feature
+
+<table border="1">
+ <tr>
+ <th>Feature</th>
+ <th>Hosts</th>
+ </tr>
+ $for feature in feature_data.keys():
+ <tr><td>$feature</td><td>$feature_data[feature]['HOSTS']</td></tr>
+</table>
diff --git a/server/templates/keyword.html b/server/templates/keyword.html
new file mode 100644
index 0000000..4855040
--- /dev/null
+++ b/server/templates/keyword.html
@@ -0,0 +1,12 @@
+$def with (keyword_data)
+$var title: Keyword
+
+<table border="1">
+ <tr>
+ <th>Keyword</th>
+ <th>Hosts</th>
+ <th>Packages</th>
+ </tr>
+ $for keyword in keyword_data.keys():
+ <tr><td>$keyword</td><td>$keyword_data[keyword]['HOSTS']</td><td>$keyword_data[keyword]['PACKAGES']</td></tr>
+</table>
diff --git a/server/templates/lang.html b/server/templates/lang.html
new file mode 100644
index 0000000..cfda84a
--- /dev/null
+++ b/server/templates/lang.html
@@ -0,0 +1,11 @@
+$def with (lang_data)
+$var title: Lang
+
+<table border="1">
+ <tr>
+ <th>Lang</th>
+ <th>Hosts</th>
+ </tr>
+ $for lang in lang_data.keys():
+ <tr><td>$lang</td><td>$lang_data[lang]['HOSTS']</td></tr>
+</table>
diff --git a/server/templates/mirror.html b/server/templates/mirror.html
new file mode 100644
index 0000000..a6189bc
--- /dev/null
+++ b/server/templates/mirror.html
@@ -0,0 +1,11 @@
+$def with (mirror_data)
+$var title: Mirror
+
+<table border="1">
+ <tr>
+ <th>Mirror</th>
+ <th>Hosts</th>
+ </tr>
+ $for mirror in mirror_data.keys():
+ <tr><td>$mirror</td><td>$mirror_data[mirror]['HOSTS']</td></tr>
+</table>
diff --git a/server/templates/profile.html b/server/templates/profile.html
new file mode 100644
index 0000000..702b03b
--- /dev/null
+++ b/server/templates/profile.html
@@ -0,0 +1,11 @@
+$def with (profile_data)
+$var title: Profile
+
+<table border="1">
+ <tr>
+ <th>Profile/th>
+ <th>Hosts</th>
+ </tr>
+ $for profile in profile_data.keys():
+ <tr><td>$profile</td><td>$profile_data[profile]['HOSTS']</td></tr>
+</table>
diff --git a/server/templates/repo.html b/server/templates/repo.html
new file mode 100644
index 0000000..63371bb
--- /dev/null
+++ b/server/templates/repo.html
@@ -0,0 +1,12 @@
+$def with (repo_data)
+$var title: Repository
+
+<table border="1">
+ <tr>
+ <th>Repository</th>
+ <th>Hosts</th>
+ <th>Packages</th>
+ </tr>
+ $for repo in repo_data.keys():
+ <tr><td>$repo</td><td>$repo_data[repo]['HOSTS']</td><td>$repo_data[repo]['PACKAGES']</td></tr>
+</table>
diff --git a/server/templates/use.html b/server/templates/use.html
new file mode 100644
index 0000000..209f8f8
--- /dev/null
+++ b/server/templates/use.html
@@ -0,0 +1,11 @@
+$def with (use_data)
+$var title: Use
+
+<table border="1">
+ <tr>
+ <th>Use</th>
+ <th>Hosts</th>
+ </tr>
+ $for use in use_data.keys():
+ <tr><td>$use</td><td>$use_data[use]['HOSTS']</td></tr>
+</table>
diff --git a/server/use.py b/server/use.py
new file mode 100644
index 0000000..dfdcfaf
--- /dev/null
+++ b/server/use.py
@@ -0,0 +1,10 @@
+
+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)