return list(builds)
async def create(self, repo, package, owner=None, group=None, test=False,
- disable_test_builds=False, update=True):
+ disable_test_builds=False):
"""
Creates a new build based on the given distribution and package
"""
build._add_watchers()
# Add the build into its repository
- await repo.add_build(build, user=owner, update=update)
+ await repo.add_build(build, user=owner)
return build
"""
This method should be called if the repositories should be updated
"""
- await asyncio.gather(
- *(repo.update() for repo in self.repos),
- )
+ for repo in self.repos:
+ await repo.has_changed()
## Bugs
# Add/Remove Builds
- async def add_build(self, build, user=None, update=True):
+ async def add_build(self, build, user=None):
"""
Adds a build to this repository
"""
# Update bug status
# XXX TODO
- # Update the repository
- if update:
- await self.update()
+ # Update the repository (in the background)
+ await self.has_changed()
- async def remove_build(self, build, user=None, update=True):
+ async def remove_build(self, build, user=None):
"""
Removes a build from this repository
"""
except IndexError:
pass
- # Update the repository
- if update:
- await self.update()
+ # Update the repository (in the background)
+ await self.has_changed()
# Sources
# Create a new build (without updating the repository immediately)
build = await self.backend.builds.create(
- self.source.repo, package, group=self.commit.builds, update=False)
+ self.source.repo, package, group=self.commit.builds)
# XXX add watchers
# Add the build to the repository
with self.db.transaction():
- await repo.add_build(build, user=self.current_user, update=False)
-
- # Update the repository in the background
- self.backend.run_task(repo.update)
+ await repo.add_build(build, user=self.current_user)
self.redirect("/builds/%s" % build.uuid)
# Remove build from all repositories
with self.db.transaction():
for repo in repos:
- await repo.remove_build(build, user=self.current_user, update=False)
-
- # Update all repositories in the background
- for repo in repos:
- self.backend.run_task(repo.update)
+ await repo.remove_build(build, user=self.current_user)
self.redirect("/builds/%s" % build.uuid)