from sqlalchemy.orm.exc import NoResultFound
from config import Config
-from singleton import Singleton
from textutils import fix_maintainer
################################################################################
# Prepare BuildQueueFile object
qf = BuildQueueFile()
- qf.queue_id = self.queue_id
+ qf.build_queue_id = self.queue_id
qf.lastused = datetime.now()
qf.filename = poolfile_basename
- targetpath = qf.fullpath
+ targetpath = poolfile.fullpath
queuepath = os.path.join(self.path, poolfile_basename)
try:
- if self.copy_pool_files:
+ if self.copy_files:
# We need to copy instead of symlink
import utils
- utils.copy(targetfile, queuepath)
+ utils.copy(targetpath, queuepath)
# NULL in the fileid field implies a copy
qf.fileid = None
else:
- os.symlink(targetfile, queuepath)
+ os.symlink(targetpath, queuepath)
qf.fileid = poolfile.file_id
except OSError:
return None
__all__.append('BuildQueue')
@session_wrapper
-def get_queue(queuename, session=None):
+def get_build_queue(queuename, session=None):
"""
- Returns Queue object for given C{queue name}, creating it if it does not
+ Returns BuildQueue object for given C{queue name}, creating it if it does not
exist.
@type queuename: string
@param session: Optional SQLA session object (a temporary one will be
generated if not supplied)
- @rtype: Queue
- @return: Queue object for the given queue
+ @rtype: BuildQueue
+ @return: BuildQueue object for the given queue
"""
- q = session.query(Queue).filter_by(queue_name=queuename)
+ q = session.query(BuildQueue).filter_by(queue_name=queuename)
try:
return q.one()
except NoResultFound:
return None
-__all__.append('get_queue')
+__all__.append('get_build_queue')
################################################################################
__all__.append('PolicyQueue')
+@session_wrapper
+def get_policy_queue(queuename, session=None):
+ """
+ Returns PolicyQueue object for given C{queue name}
+
+ @type queuename: string
+ @param queuename: The name of the queue
+
+ @type session: Session
+ @param session: Optional SQLA session object (a temporary one will be
+ generated if not supplied)
+
+ @rtype: PolicyQueue
+ @return: PolicyQueue object for the given queue
+ """
+
+ q = session.query(PolicyQueue).filter_by(queue_name=queuename)
+
+ try:
+ return q.one()
+ except NoResultFound:
+ return None
+
+__all__.append('get_policy_queue')
+
################################################################################
class Priority(object):
################################################################################
-class DBConn(Singleton):
+class DBConn(object):
"""
database module init.
"""
+ __shared_state = {}
+
def __init__(self, *args, **kwargs):
- super(DBConn, self).__init__(*args, **kwargs)
+ self.__dict__ = self.__shared_state
- def _startup(self, *args, **kwargs):
- self.debug = False
- if kwargs.has_key('debug'):
- self.debug = True
- self.__createconn()
+ if not getattr(self, 'initialised', False):
+ self.initialised = True
+ self.debug = kwargs.has_key('debug')
+ self.__createconn()
def __setuptables(self):
self.tbl_architecture = Table('architecture', self.db_meta, autoload=True)