#!/usr/bin/env python
# DB access fucntions
-# Copyright (C) 2000, 2001, 2002, 2003 James Troup <james@nocrew.org>
-# $Id: db_access.py,v 1.15 2003-02-11 18:09:59 troup Exp $
+# Copyright (C) 2000, 2001, 2002, 2003, 2004 James Troup <james@nocrew.org>
+# $Id: db_access.py,v 1.18 2005-12-05 05:08:10 ajt Exp $
# 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
################################################################################
-import sys, time;
+import sys, time, types;
################################################################################
files_id_cache = {};
maintainer_cache = {};
fingerprint_id_cache = {};
+queue_id_cache = {};
uid_id_cache = {};
################################################################################
r = projectB.query(q);
time_diff = time.time()-before;
sys.stderr.write("took %.3f seconds.\n" % (time_diff));
+ if type(r) is int:
+ sys.stderr.write("int result: %s\n" % (r));
+ elif type(r) is types.NoneType:
+ sys.stderr.write("result: None\n");
+ else:
+ sys.stderr.write("pgresult: %s\n" % (r.getresult()));
return r;
################################################################################
else:
return None
+################################################################################
+
+def get_or_set_queue_id (queue):
+ global queue_id_cache
+
+ if queue_id_cache.has_key(queue):
+ return queue_id_cache[queue]
+
+ q = projectB.query("SELECT id FROM queue WHERE queue_name = '%s'" % (queue))
+ if not q.getresult():
+ projectB.query("INSERT INTO queue (queue_name) VALUES ('%s')" % (queue))
+ q = projectB.query("SELECT id FROM queue WHERE queue_name = '%s'" % (queue))
+ queue_id = q.getresult()[0][0]
+ queue_id_cache[queue] = queue_id
+
+ return queue_id
################################################################################