More improvements to admin requests.

Finish replacing isComplete.  Also, add back in the bit where we
save the response because it turns out that's important.

Change-Id: I8441386a9aae9c62c1527e780d0b41271f465ac5
This commit is contained in:
James E. Blair 2013-05-21 10:46:51 -07:00
parent e3b42f6795
commit 1c4df7622f
2 changed files with 14 additions and 14 deletions

View File

@ -15,7 +15,6 @@
import logging
import os
import Queue
import re
import select
import socket
import struct
@ -189,7 +188,7 @@ class Connection(object):
else:
if len(packet) == 12:
code, ptype, datalen = struct.unpack('!4sii', packet)
if len(packet) == datalen+12:
if len(packet) == datalen + 12:
return Packet(code, ptype, packet[12:], connection=self)
def sendAdminRequest(self, request):
@ -300,13 +299,11 @@ class AdminRequest(object):
return cmd
def isComplete(self, data):
if data[-3:] == '\n.\n':
return True
if data[-5:] == '\r\n.\r\n':
return True
if data == '.\n':
return True
if data == '.\r\n':
if (data[-3:] == '\n.\n' or
data[-5:] == '\r\n.\r\n' or
data == '.\n' or
data == '.\r\n'):
self.response = data
return True
return False
@ -369,6 +366,7 @@ class CancelJobAdminRequest(AdminRequest):
def isComplete(self, data):
if data[-1] == '\n':
self.response = data
return True
return False
@ -386,6 +384,7 @@ class VersionAdminRequest(AdminRequest):
def isComplete(self, data):
if data[-1] == '\n':
self.response = data
return True
return False
@ -1224,7 +1223,8 @@ class Client(BaseClient):
job.numerator = packet.getArgument(1)
job.denominator = packet.getArgument(2)
try:
job.fraction_complete = float(job.numerator)/float(job.denominator)
job.fraction_complete = (float(job.numerator) /
float(job.denominator))
except Exception:
job.fraction_complete = None
self.log.debug("Job status; handle: %s complete: %s/%s" %
@ -1248,7 +1248,8 @@ class Client(BaseClient):
job.denominator = packet.getArgument(4)
try:
job.fraction_complete = float(job.numerator)/float(job.denominator)
job.fraction_complete = (float(job.numerator) /
float(job.denominator))
except Exception:
job.fraction_complete = None
return job
@ -1806,14 +1807,12 @@ class WorkerJob(BaseJob):
class ServerAdminRequest(AdminRequest):
"""An administrative request sent to a server."""
finished_re = re.compile('^.*\r?\n', re.M)
def __init__(self, connection):
super(ServerAdminRequest, self).__init__()
self.connection = connection
def isComplete(self, data):
if self.finished_re.search(data):
if data[-1] == '\n':
self.command = data.strip()
return True
return False

View File

@ -29,3 +29,4 @@ commands = {posargs}
[flake8]
exclude = .venv,.tox,dist,doc,*.egg
show-source = true
ignore = E123,E125,E128