POP3 allows for an argument in LIST command

This commit is contained in:
Chuck 2013-08-14 13:31:06 +07:00
parent d85c785294
commit a364cfb98b

View File

@ -212,6 +212,14 @@ class bitmessagePOP3Connection(asyncore.dispatcher):
def handleList(self, data): def handleList(self, data):
self.populateMessageIndex() self.populateMessageIndex()
if len(data):
index = int(data.decode('ascii')) - 1
assert index >= 0
if index < len(self.messages):
yield "+OK {} {}".format(index, self.messages[index]['size'])
else:
yield "-ERR no such message"
else:
yield "+OK {} messages ({} octets)".format(len(self.messages), self.storage_size) yield "+OK {} messages ({} octets)".format(len(self.messages), self.storage_size)
for i, msg in enumerate(self.messages): for i, msg in enumerate(self.messages):
yield "{} {}".format(i + 1, msg['size']) yield "{} {}".format(i + 1, msg['size'])