Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
 def get_jobs(self):
     from lucy.models.job import Job
     return Job.assigned_jobs(self['_id'])
Example #5
0
 def get_all_jobs(self):
     from lucy.models.source import Source
     return Job.by_source(self['_id'])
Example #6
0
 def get_pending_jobs(self):
     for x in Job.query({
         "source": self['_id'],
         "finished_at": None
     }):
         yield x
Example #7
0
 def get_jobs(self):
     for x in Job.by_package(self['_id']):
         yield x
Example #8
0
 def get_all_jobs(self):
     from lucy.models.source import Source
     return Job.by_source(self['_id'])
Example #9
0
 def get_pending_jobs(self):
     for x in Job.query({"source": self['_id'], "finished_at": None}):
         yield x
Example #10
0
 def get_jobs(self):
     for x in Job.by_package(self['_id']):
         yield x