~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/soyuz/model/binarypackagebuild.py

Merge db-devel.

Show diffs side-by-side

added added

removed removed

Lines of Context:
146
146
    def current_component(self):
147
147
        """See `IBuild`."""
148
148
        latest_publication = self._getLatestPublication()
149
 
        assert latest_publication is not None, (
150
 
            'Build %d lacks a corresponding source publication.' % self.id)
151
 
        return latest_publication.component
 
149
        # Production has some buggy builds without source publications.
 
150
        # They seem to have been created by early versions of gina and
 
151
        # the readding of hppa.
 
152
        if latest_publication is not None:
 
153
            return latest_publication.component
152
154
 
153
155
    @property
154
156
    def current_source_publication(self):
864
866
            return None
865
867
        return resulting_tuple[0]
866
868
 
 
869
    def getByBuildFarmJobs(self, build_farm_jobs):
 
870
        """See `ISpecificBuildFarmJobSource`."""
 
871
        if len(build_farm_jobs) == 0:
 
872
            return EmptyResultSet()
 
873
        clause_tables = (BinaryPackageBuild, PackageBuild, BuildFarmJob)
 
874
        build_farm_job_ids = [
 
875
            build_farm_job.id for build_farm_job in build_farm_jobs]
 
876
        return Store.of(build_farm_jobs[0]).using(*clause_tables).find(
 
877
            BinaryPackageBuild,
 
878
            BinaryPackageBuild.package_build == PackageBuild.id,
 
879
            PackageBuild.build_farm_job == BuildFarmJob.id,
 
880
            BuildFarmJob.id.is_in(build_farm_job_ids))
 
881
 
867
882
    def getPendingBuildsForArchSet(self, archseries):
868
883
        """See `IBinaryPackageBuildSet`."""
869
884
        if not archseries: