import sys import urllib, urllib2 from xml.dom.minidom import parseString class twipy: def __init__(self): self.top_level_url = "http://twitter.com/statuses/" self.url = self.top_level_url + "update.xml" def post(self, user, password, post): password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() password_mgr.add_password(None, self.top_level_url, user, password) handler = urllib2.HTTPBasicAuthHandler(password_mgr) opener = urllib2.build_opener(handler) urllib2.install_opener(opener) values = {"status": post} data = urllib.urlencode(values) req = urllib2.Request(self.url, data) try: response = urllib2.urlopen(req) except urllib2.URLError, e: return "Crap." except urllib2.HTTPError, e: return "Bullocks." reply = response.read() xmldoc = parseString(reply) if len(xmldoc.getElementsByTagName("created_at")) > 0: return "Success!" else: return "No joy." def main(): t = twipy() print t.post(sys.argv[1], sys.argv[2], " ".join(sys.argv[3:])) if __name__ == '__main__': main()