Beispiel #1
0
	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
Beispiel #2
0
	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