def decode(self, buffer):
obj = unpackb(buffer, encoding='utf-8')
if obj[0] == b'pc':
return ('page_crawled',
self._response_from_object(obj[1]))
if obj[0] == b'le':
return ('links_extracted',
self._request_from_object(obj[1]),
[self._request_from_object(x) for x in obj[2]])
if obj[0] == b'us':
return ('update_score', self._request_from_object(obj[1]), obj[2], obj[3])
if obj[0] == b're':
return ('request_error', self._request_from_object(obj[1]), to_native_str(obj[2]))
if obj[0] == b'as':
return ('add_seeds', [self._request_from_object(x) for x in obj[1]])
if obj[0] == b'njid':
return ('new_job_id', int(obj[1]))
if obj[0] == b'of':
return ('offset', int(obj[1]), int(obj[2]))
return TypeError('Unknown message type')
评论列表
文章目录