#!/usr/bin/env python
-# Various statistical pr0nography fun and games
+""" Various statistical pr0nography fun and games """
# Copyright (C) 2000, 2001, 2002, 2003, 2006 James Troup <james@nocrew.org>
# This program is free software; you can redistribute it and/or modify
import pg, sys
import apt_pkg
-import daklib.utils
+from daklib import utils
+from daklib import database
################################################################################
def daily_install_stats():
stats = {}
- file = daklib.utils.open_file("2001-11")
- for line in file.readlines():
+ f = utils.open_file("2001-11")
+ for line in f.readlines():
split = line.strip().split('|')
program = split[1]
if program != "katie" and program != "process-accepted":
q = projectB.query("SELECT id, suite_name FROM suite")
suite_ql = q.getresult()
for i in suite_ql:
- (id, name) = i
- suites[id] = name
- suite_ids[name] = id
+ (sid, name) = i
+ suites[sid] = name
+ suite_ids[name] = sid
# Build up architecture mapping
q = projectB.query("SELECT id, arch_string FROM architecture")
for i in q.getresult():
- (id, name) = i
- arches[id] = name
- arch_ids[name] = id
+ (aid, name) = i
+ arches[aid] = name
+ arch_ids[name] = aid
# Pre-create the dictionary
for suite_id in suites.keys():
d[suite_id] = {}
for suite in suite_list:
suite_id = suite_ids[suite]
suite_arches[suite_id] = {}
- for arch in Cnf.ValueList("Suite::%s::Architectures" % (suite)):
+ for arch in database.get_suite_architectures(suite_id):
suite_arches[suite_id][arch] = ""
suite_id_list.append(suite_id)
output_list = [ output_format(i) for i in suite_list ]
def main ():
global Cnf, projectB
- Cnf = daklib.utils.get_conf()
+ Cnf = utils.get_conf()
Arguments = [('h',"help","Stats::Options::Help")]
for i in [ "help" ]:
if not Cnf.has_key("Stats::Options::%s" % (i)):
usage()
if len(args) < 1:
- daklib.utils.warn("dak stats requires a MODE argument")
+ utils.warn("dak stats requires a MODE argument")
usage(1)
elif len(args) > 1:
- daklib.utils.warn("dak stats accepts only one MODE argument")
+ utils.warn("dak stats accepts only one MODE argument")
usage(1)
mode = args[0].lower()
projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
+ database.init(Cnf, projectB)
if mode == "arch-space":
per_arch_space_use()
elif mode == "daily-install":
daily_install_stats()
else:
- daklib.utils.warn("unknown mode '%s'" % (mode))
+ utils.warn("unknown mode '%s'" % (mode))
usage(1)
################################################################################