Code:
#!/usr/bin/env python
#
# Studio Bebop Presents
# GMail Bot Control Framework
# By James Penguin (jamespenguin@gmail.com)
#
import urllib2, ClientForm, os
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
opener.addheaders = [(\'User-agent\', \'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)\')]
urllib2.install_opener(opener)
class GMail:
def __init__(self, username, password):
self.username = username
self.password = password
def login(self):
url = \"http://gmail.com\"
page = urllib2.urlopen(url)
forms = ClientForm.ParseResponse(page, backwards_compat=False)
form = forms[0]
form[\"Email\"] = self.username
form[\"Passwd\"] = self.password
req = form.click()
res = urllib2.urlopen(req).read()
if \"refresh\" in res:
return True
return False
def retrieve_unread_messages(self):
\"\"\"
Stops after encountering an entire page of read messages.
\"\"\"
url = \"http://mail.google.com/mail/?ui=html&zy=e\"
page = urllib2.urlopen(url).read()
url = page.split(\"url='\")[1].split(\"'\\\"\")[0]
base_url = url.replace(\"&\", \"&\")
messages = []
start = 0
while True:
if not start:
url = base_url
else:
url = base_url + \"&st=%d\" % start
page = urllib2.urlopen(url).read()
page = page.split(\"\")
if len(page) == 1:
break
else:
page = page[1:]
for message in page:
message_from = message.split(\"\")[1].split(\"\")[0]
message_subject = message.split(\"\")[1].split(\"\")[0]
message_subject = message_subject.lstrip()
message_subject = message_subject.rstrip()
if message_subject.startswith(\"\"):
message_subject = message_subject.split(\"\")[1]
message_url = message.split(\"<="" page="urllib2.urlopen(url).read()" pre="" retrieve_message(self,="" return="" start="" url):="">