extras-buildsys/server UserInterface.py,1.51,1.52
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Wed Aug 31 18:25:52 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15829/server
Modified Files:
UserInterface.py
Log Message:
2005-08-31 Dan Williams <dcbw at redhat.com>
* server/UserInterface.py
- Fix more target-related stuff
Index: UserInterface.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/UserInterface.py,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- UserInterface.py 29 Aug 2005 17:48:19 -0000 1.51
+++ UserInterface.py 31 Aug 2005 18:25:50 -0000 1.52
@@ -80,6 +80,22 @@
return True
return False
+def resolve_target(cfg, alias):
+ target_cfg = None
+ try:
+ target_cfg = cfg.resolve_target_user_alias(alias)
+ except Config.InvalidUserAliasException:
+ pass
+
+ # If it wasn't an alias, try actual target names
+ if not target_cfg:
+ for tcfg in cfg.targets():
+ if alias == tcfg.target_string():
+ target_cfg = tcfg
+ break
+ return target_cfg
+
+
class UserInterface:
"""
Base UserInterface class. NO AUTHENTICATION. Subclass this to provide some.
@@ -152,18 +168,17 @@
"Submit a bug report?" % (source, target_alias, package))
return (-1, "The package name contained an illegal character.", -1)
- try:
- target_cfg = self._cfg.resolve_target_user_alias(target_alias)
- except Config.InvalidUserAliasException, e:
+ target_cfg = resolve_target(self._cfg, target_alias)
+ if not target_cfg:
self.email_result(email, source, "Error setting up build for %s on "\
"%s: target does not exist." % (source, target_alias))
return (-1, "This build server does not support the target %s." % target_alias, -1)
- else:
- print "Request to enqueue '%s' tag '%s' for target '%s' (user '%s')" % (package, source, target_alias, email)
- req = self._bm.create_job_request(email, package, source, target_cfg.target_dict(), buildreq, time.time())
- self._bm.enqueue(req)
- uid = self._wait_for_uid(req)
- return (0, "Success: package has been queued.", uid)
+
+ print "Request to enqueue '%s' tag '%s' for target '%s' (user '%s')" % (package, source, target_alias, email)
+ req = self._bm.create_job_request(email, package, source, target_cfg.target_dict(), buildreq, time.time())
+ self._bm.enqueue(req)
+ uid = self._wait_for_uid(req)
+ return (0, "Success: package has been queued.", uid)
def requeue(self, uid):
uid = validate_uid(uid)
@@ -252,10 +267,10 @@
sql_args.append('uid<%d' % uid)
if args_dict.has_key('target') and args_dict['target']:
- try:
- target_cfg = self._cfg.resolve_target_user_alias(args_dict['target'])
- except Config.InvalidUserAliasException:
+ target_cfg = resolve_target(self._cfg, args_dict['target'])
+ if not target_cfg:
return (-1, "Error: Invalid target.", [])
+
sql_args.append('target_distro="%s"' % target_cfg.distro())
sql_args.append('target_target="%s"' % target_cfg.target())
sql_args.append('target_repo="%s"' % target_cfg.repo())
@@ -397,7 +412,8 @@
jobrec['version'] = job['version']
jobrec['release'] = job['release']
base_url = self._server_cfg.get_str("UI", "log_url")
- log_url = PackageJob.make_job_log_url(base_url, jobrec['target'],
+ target_str = "%s-%s-%s" % (jobrec['target_distro'], jobrec['target_target'], jobrec['target_repo'])
+ log_url = PackageJob.make_job_log_url(base_url, target_str,
str(uid), jobrec['package'], jobrec['version'],
jobrec['release'])
if log_url and len(log_url):
@@ -445,7 +461,7 @@
def targets(self):
targets = []
for target_cfg in self._cfg.targets():
- targets.append(target_cfg.get_str("General", "name"))
+ targets.append(target_cfg.target_string())
return targets
def pause(self, paused):
More information about the fedora-extras-commits
mailing list