def auth(self): ck = {} getans("http://i.doit.im/signin", "username=%s&password=%s&autologin=1" % (quote(self.username), quote(self.password)), ck=ck, timeout=10, tries=1) if 'autologin' in ck: self.cookie = ck['autologin'] else: raise DoitException("auth error")
def add(self, text, noreauth=False): ck = {"autologin": self.cookie} task = {"all_day":True,"archived":0,"assignment":None,"attribute":"inbox","completed":0,"deleted":0,"end_at":0,"forwarded_by":None,"hidden":0,"uuid":str(uuid.uuid4()),"type":"task","notes":"","priority":0,"reminders":[],"repeat_no":None,"repeater":None,"start_at":None,"tags":[],"title":text,"trashed":0,"now":False,"project":None,"goal":None,"context":None,"pos":6834386} print json.dumps(task) res = str(getans("http://i.doit.im/api/tasks/create", json.dumps(task), ck=ck, headers=["Content-Type: application/json; charset=utf-8"], timeout=10, vrb=1, tries=1).body()) print res r = json.loads(res) if r["message"] == "require login": if noreauth: raise DoitAuthException(res) try: self.auth() self.add(text, True) except DoitException: raise DoitAuthException(res) elif r["message"] != 'success': raise DoitException(res)