return list(builds)
- def create(self, repo, package, owner=None, group=None):
+ async def create(self, repo, package, owner=None, group=None):
"""
Creates a new build based on the given distribution and package
"""
if group:
build.group = group
- # Add the build into its repository
- repo.add_build(build, user=owner)
-
# Create all jobs
build._create_jobs()
# Add watchers
build._add_watchers()
+ # Add the build into its repository
+ await repo.add_build(build, user=owner)
+
return build
# Groups
# Add/Remove Builds
- def add_build(self, build, user=None):
+ async def add_build(self, build, user=None, update=True):
"""
Adds a build to this repository
"""
# Update bug status.
#build._update_bugs_helper(self)
- def remove_build(self, build, user=None):
+ # Update the repository
+ if update:
+ await self.update()
+
+ async def remove_build(self, build, user=None, update=True):
"""
Removes a build from this repository
"""
except IndexError:
pass
+ # Update the repository
+ if update:
+ await self.update()
+
# Sources
@lazy_property
raise tornado.web.HTTPError(404, "Could not find repository")
# Create a new build
- build = self.backend.builds.create(repo, package, owner=self.user)
+ build = await self.backend.builds.create(repo, package, owner=self.user)
# Delete the upload
await upload.delete()
package = await self._create_package(path)
# Create the build
- build = self.backend.builds.create(repo, package, owner=owner)
+ build = await self.backend.builds.create(repo, package, owner=owner)
# Check if we received the correct type
self.assertIsInstance(build, builds.Build)