def __init__(self, report, builder, package, package_type, job, failed, source=None, type=None, **kwargs): if package_type not in ["source", "binary"]: raise ValueError("Bad package type") loaded_package = None if package_type == 'source': try: loaded_package = Source.load(package) if source is None: source = loaded_package['_id'] except KeyError: pass if package_type == 'binary': try: loaded_package = Binary.load(package) if source is None: source = loaded_package['source'] except KeyError: pass if loaded_package is None: raise KeyError("No such package") builder = Machine.load(builder)['_id'] job = Job.load(job) if type is None: type = job['type'] if source is None: raise ValueError("No source :(") super(Report, self).__init__(package_type=package_type, source=source, builder=builder, package=loaded_package['_id'], report=report, job=job['_id'], type=type, failed=failed, **kwargs)
def __init__(self, job, arch, suite, binaries, builder, **kwargs): from lucy.models.job import Job job = Job.load(job) if job['package_type'] != 'source': raise ValueError("Package from Job isn't a source package") if 'source' not in kwargs: kwargs['source'] = job['package'] super(Binary, self).__init__(job=job['_id'], arch=arch, suite=suite, builder=builder, binaries=binaries, **kwargs)
def get_jobs(self): from lucy.models.job import Job return Job.assigned_jobs(self['_id'])
def get_all_jobs(self): from lucy.models.source import Source return Job.by_source(self['_id'])
def get_pending_jobs(self): for x in Job.query({ "source": self['_id'], "finished_at": None }): yield x
def get_jobs(self): for x in Job.by_package(self['_id']): yield x
def get_pending_jobs(self): for x in Job.query({"source": self['_id'], "finished_at": None}): yield x