extras-buildsys/common Commands.py,1.8,1.9

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Tue May 23 15:06:22 UTC 2006


Author: dcbw

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

Modified Files:
	Commands.py 
Log Message:
2006-05-23  Dan Williams  <dcbw at redhat.com>

    * common/Commands.py
        - Add a "JobSPRM" command for notifying builders that the job SRPM is
            available.  Passive builders need to upload the SRPM so we have to
            split the srpm out of the NewJob command to give the server time to
            upload to a passive builder.




Index: Commands.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/common/Commands.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Commands.py	14 May 2006 05:43:06 -0000	1.8
+++ Commands.py	23 May 2006 15:06:14 -0000	1.9
@@ -28,6 +28,7 @@
 CMD_NAME_SLOTS = "Slots"
 CMD_NAME_NEW_JOB_REQ = "NewJob"
 CMD_NAME_NEW_JOB_ACK = "NewJobAck"
+CMD_NAME_JOB_SRPM = "JobSRPM"
 CMD_NAME_UNLOCK_REPO = "UnlockRepo"
 CMD_NAME_BUILDING_JOBS = "BuildingJobs"
 CMD_NAME_JOB_STATUS_REQ = "JobStatus"
@@ -127,6 +128,8 @@
             cmd = PlgCommandNewJobReq._deserialize(args)
         elif name == CMD_NAME_NEW_JOB_ACK:
             cmd = PlgCommandNewJobAck._deserialize(args)
+        elif name == CMD_NAME_JOB_SRPM:
+            cmd = PlgCommandJobSRPM._deserialize(args)
         elif name == CMD_NAME_BUILDING_JOBS:
             cmd = PlgCommandBuildingJobs._deserialize(args)
         elif name == CMD_NAME_JOB_STATUS_REQ:
@@ -416,6 +419,41 @@
         return self._msg
 
 
+class PlgCommandJobSRPM(PlgCommand):
+    def __init__(self, archjob_id, srpm_url, seq=0):
+        PlgCommand.__init__(self, CMD_NAME_JOB_SRPM, seq)
+        self._archjob_id = archjob_id
+        self._srpm_url = srpm_url
+
+    def _deserialize(args):
+        try:
+            archjob_id = args['archjob_id']
+        except (ValueError, TypeError):
+            raise ValueError("No 'archjob_id' argument found.")
+        try:
+            srpm_url = args['srpm_url']
+        except (ValueError, TypeError):
+            raise ValueError("No 'srpm_url' argument found.")
+        return PlgCommandJobSRPM(archjob_id, srpm_url)
+
+    _deserialize = staticmethod(_deserialize)
+
+    def serialize(self):
+        args = {}
+        args['archjob_id'] = self._archjob_id
+        args['srpm_url'] = self._srpm_url
+        return PlgCommand._serialize(self, args)
+
+    def archjob_id(self):
+        return self._archjob_id
+
+    def srpm_url(self):
+        return self._srpm_url
+
+    def __str__(self):
+        return "%s(seq: %d, archjob_id: %s, srpm_url: %s)" % (self._name, self._seq, self._archjob_id, self._srpm_url)
+
+
 class PlgCommandUnlockRepo(PlgCommand):
     def __init__(self, archjob_id, seq=0):
         PlgCommand.__init__(self, CMD_NAME_UNLOCK_REPO, seq)




More information about the scm-commits mailing list