#!/usr/bin/python3
+import asyncio
import sys
# Use tornado's logging options
self.backend = pakfire.buildservice.Backend(*args, **kwargs)
self._commands = {
+ # Bugzilla
+ "bugzilla:version" : self.backend.bugzilla.version,
+
# Check build dependencies
- "check-build-dependencies" : self.backend.jobqueue.check_build_dependencies,
+ #"check-build-dependencies" : self.backend.jobqueue.check_build_dependencies,
# Run mirror check
- "check-mirrors" : self.backend.mirrors.check,
+ #"check-mirrors" : self.backend.mirrors.check,
# Cleanup files
- "cleanup-files" : self.backend.cleanup_files,
+ #"cleanup-files" : self.backend.cleanup_files,
# Cleanup repositories
- "cleanup-repositories" : self.backend.repos.cleanup,
+ #"cleanup-repositories" : self.backend.repos.cleanup,
# Cleanup sessions
- "cleanup-sessions" : self.backend.sessions.cleanup,
+ #"cleanup-sessions" : self.backend.sessions.cleanup,
# Dist
- "dist" : self.backend.sources.dist,
+ #"dist" : self.backend.sources.dist,
# List repository
- "list-repository" : self._list_repository,
+ #"list-repository" : self._list_repository,
# Sends all queued messages
- "process-message-queue" : self.backend.messages.process_queue,
+ #"process-message-queue" : self.backend.messages.process_queue,
# Pull sources
- "pull-sources" : self.backend.sources.pull,
+ #"pull-sources" : self.backend.sources.pull,
# Remaster Repositories
- "remaster-repositories" : self.backend.repos.remaster,
+ #"remaster-repositories" : self.backend.repos.remaster,
# Send bug updates to Bugzilla
- "send-bug-updates" : self.backend.bugzilla.send_all,
+ #"send-bug-updates" : self.backend.bugzilla.send_all,
# Cleanup uploads
- "uploads:cleanup" : self.backend.uploads.cleanup,
+ #"uploads:cleanup" : self.backend.uploads.cleanup,
}
- def __call__(self, *args):
+ async def __call__(self, *args):
# Parse tornado settings
args = tornado.options.parse_command_line(args)
return 2
# Execute command
- r = command(*args)
+ r = await command(*args)
# Exit with error code
sys.exit(r or 0)
for pkg in job:
print(pkg)
-# main
-cli = Cli()
-cli(*sys.argv)
+if __name__ == "__main__":
+ cli = Cli()
+
+ # Create a new event loop
+ loop = asyncio.get_event_loop()
+
+ loop.run_until_complete(cli(*sys.argv))