def __getitem__(self, index): if type(index) == type(""): self.chdir(index) return self if type(index) == type(()): index, preview = index else: preview = false if preview: resp, data = self.con.query("fetch", (index, '(FLAGS RFC822.HEADER RFC822.SIZE)')) else: resp, data = self.con.query("fetch", (index, '(FLAGS RFC822 RFC822.SIZE)')) m = Message(StringIO(data[0][1]), preview) m.unique_num = int(index) m.Size = int(data[1][find(data[1], "RFC822.SIZE")+11:-1]) m.SizeStr = bytesizestr(m.Size) return m
def __getitem__(self, index): """returns a message object index can be a tuple - in this case the second element is a flag for only returning the headers (faster) """ if type(index) == type(""): self.chdir(index) return self if type(index) == type(()): index, preview = index else: preview = false index = index + 1 if preview: m = Message(self.con.query("top", (index, 0))[1], preview) else: m = Message(self.con.query("retr", (index,))[1], preview) m.unique_num = index - 1 return m