提交 b5ee62da 编写于 作者: J James Troup

move get_maintainer to db_access.

上级 efed042a
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Generate Maintainers file used by e.g. the Debian Bug Tracking System # Generate Maintainers file used by e.g. the Debian Bug Tracking System
# Copyright (C) 2000, 2001 James Troup <james@nocrew.org> # Copyright (C) 2000, 2001 James Troup <james@nocrew.org>
# $Id: charisma,v 1.6 2001-03-20 00:28:11 troup Exp $ # $Id: charisma,v 1.7 2001-04-03 10:01:27 troup Exp $
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
...@@ -27,14 +27,13 @@ ...@@ -27,14 +27,13 @@
#################################################################################################################################### ####################################################################################################################################
import os, pg, re, string, sys import os, pg, re, string, sys
import db_access, utils
import apt_pkg import apt_pkg
import utils
#################################################################################################################################### ####################################################################################################################################
projectB = None projectB = None
Cnf = None Cnf = None
maintainer_cache = {}
maintainer_from_source_cache = {} maintainer_from_source_cache = {}
packages = {} packages = {}
fixed_maintainer_cache = {} fixed_maintainer_cache = {}
...@@ -51,6 +50,9 @@ def fix_maintainer (maintainer): ...@@ -51,6 +50,9 @@ def fix_maintainer (maintainer):
return fixed_maintainer_cache[maintainer] return fixed_maintainer_cache[maintainer]
def get_maintainer (maintainer):
return fix_maintainer(db_access.get_maintainer(maintainer));
def get_maintainer_from_source (source_id): def get_maintainer_from_source (source_id):
global maintainer_from_source_cache global maintainer_from_source_cache
...@@ -61,16 +63,6 @@ def get_maintainer_from_source (source_id): ...@@ -61,16 +63,6 @@ def get_maintainer_from_source (source_id):
return maintainer_from_source_cache[source_id] return maintainer_from_source_cache[source_id]
def get_maintainer (maintainer_id):
global maintainer_cache
if not maintainer_cache.has_key(maintainer_id):
q = projectB.query("SELECT name FROM maintainer WHERE id = %s" % (maintainer_id));
maintainer = q.getresult()[0][0]
maintainer_cache[maintainer_id] = fix_maintainer(maintainer)
return maintainer_cache[maintainer_id]
#################################################################################################################################### ####################################################################################################################################
def main(): def main():
...@@ -84,6 +76,7 @@ def main(): ...@@ -84,6 +76,7 @@ def main():
extra_files = apt_pkg.ParseCommandLine(Cnf,[],sys.argv); extra_files = apt_pkg.ParseCommandLine(Cnf,[],sys.argv);
projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]), None, None, Cnf["DB::ROUser"]); projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]), None, None, Cnf["DB::ROUser"]);
db_access.init(Cnf, projectB);
for suite in Cnf.SubTree("Suite").List(): for suite in Cnf.SubTree("Suite").List():
suite = string.lower(suite); suite = string.lower(suite);
......
# DB access fucntions # DB access fucntions
# Copyright (C) 2000, 2001 James Troup <james@nocrew.org> # Copyright (C) 2000, 2001 James Troup <james@nocrew.org>
# $Id: db_access.py,v 1.6 2001-03-02 02:24:33 troup Exp $ # $Id: db_access.py,v 1.7 2001-04-03 10:01:27 troup Exp $
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
...@@ -33,6 +33,7 @@ location_id_cache = {}; ...@@ -33,6 +33,7 @@ location_id_cache = {};
maintainer_id_cache = {}; maintainer_id_cache = {};
source_id_cache = {}; source_id_cache = {};
files_id_cache = {}; files_id_cache = {};
maintainer_cache = {}
############################################################################################ ############################################################################################
...@@ -249,3 +250,13 @@ def set_files_id (filename, size, md5sum, location_id): ...@@ -249,3 +250,13 @@ def set_files_id (filename, size, md5sum, location_id):
########################################################################################## ##########################################################################################
def get_maintainer (maintainer_id):
global maintainer_cache;
if not maintainer_cache.has_key(maintainer_id):
q = projectB.query("SELECT name FROM maintainer WHERE id = %s" % (maintainer_id));
maintainer_cache[maintainer_id] = q.getresult()[0][0];
return maintainer_cache[maintainer_id];
##########################################################################################
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册