def __init__(self, cfg): self._cfg = cfg self._log = logging.getLogger(cfg.get('loggers', 'DatabaseServer')) #self.storage = CouchDBStorage(cfg.get('couchdb', 'dbaddress')) self.storage = Storage(cfg.get('mongodb','host'))
class DatabaseServer: def __init__(self, cfg): self._cfg = cfg self._log = logging.getLogger(cfg.get('loggers', 'DatabaseServer')) #self.storage = CouchDBStorage(cfg.get('couchdb', 'dbaddress')) self.storage = Storage(cfg.get('mongodb','host')) def getNewJobId(self, projectName): """Creates new job id.""" return self.storage[projectName].getNewJobId() def createProject(self, projectName): """Create in database project with specified name. An exception will be raised it project already exists. :param projectName: name of project to create. :type projectName: str """ self.storage.createProject(projectName) def projectExists(self, projectName): "Checks whether project with specified name already exists." return projectName in self.storage def deleteProject(self, projectName): """Deletes project with specified name if it exists. Otherwise raises RPCServerException.""" del self.storage[projectName] def addJob(self, projectName, jobName, definition): """Adds specified job to project. RPCServerException will be raised if project doesn't exist or job with specified name already exists. :param projectName: name of model project. :type projectName: str :param jobName: job name :type jobName: str :param definition: definition of job written in YAML. :type jobName: str """ self.storage[projectName].addJob(jobName, yaml.load(definition)) def jobExists(self, projectName, jobName): """Checks whether job with provided name exists in project. RPCServerExceptpion is thrown if project doesn't exist.""" return jobName in self.storage[projectName] def deleteJob(self, projectName, jobName): "Deletes job with specified name if it exists. Otherwise throws RPCServerException." self._log.info("Deleting job: {0}.{1}.".format(projectName, jobName)) p = self.storage[projectName] del p[jobName]