extras-buildsys/server UserInterface.py,1.23,1.24

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Wed Jul 20 19:56:43 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18869/server

Modified Files:
	UserInterface.py 
Log Message:
Add an XMLRPC method to return targets the server supports


Index: UserInterface.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/UserInterface.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- UserInterface.py	20 Jul 2005 18:11:37 -0000	1.23
+++ UserInterface.py	20 Jul 2005 19:56:41 -0000	1.24
@@ -72,6 +72,12 @@
         return None
     return uid
 
+def validate_target(target):
+    target_dict = config_opts['targets']
+    if target in target_dict.keys():
+        return True
+    return False
+
 
 class UserInterface:
     """
@@ -185,6 +191,11 @@
                 return (-1, "Error: Invalid job UID.", [])
             sql_args.append('uid<%d' % uid)
 
+        if args_dict.has_key('target') and args_dict['target']:
+            if not validate_target(args_dict['target']):
+                return (-1, "Error: Invalid job UID.", [])
+            sql_args.append('target="%s"' % args_dict['target'])
+
         if not len(sql_args):
             return (-1, "Error: Invalid query.", [])
 
@@ -261,6 +272,10 @@
         builder_list = self._builder_manager.list_builders()
         return (0, "Success.", builder_list)
 
+    def targets(self):
+        target_dict = config_opts['targets']
+        return target_dict.keys()
+
 
 class UserInterfaceSSLAuth(UserInterface):
     """
@@ -313,6 +328,11 @@
         return UserInterface.list_builders(self)
 
 
+    def targets(self):
+        user = AuthedXMLRPCServer.get_authinfo()
+        return UserInterface.targets(self)
+
+
 class UserInterfaceNoAuth(UserInterface):
     """
     Allow all operations, NULL authentication




More information about the scm-commits mailing list