def get_user(message): # extract email address from From field sender = message['From'] m = re.search('<([\w@\.]+)>', sender) sender_address = m.group(1) user = doneit.get_user_by_email(sender_address) return user
def login(): if check(request): redirect(request.query.ret or "/") if doneit.login(request.forms.get('email'), request.forms.get('password')): user_id = doneit.get_user_by_email(request.forms.get('email'))['_id'] response.set_cookie("_id", str(user_id)) response.set_cookie("session", doneit.new_session(str(user_id))) redirect(request.query.ret or "/") redirect("/login?failed=true&ret=%s" % (request.query.ret))
def github_post_commit(): _id = request.query.id key = request.query.key if _id and key and doneit.get_by_id("projects", _id)["secret-key"] == key: for commit in json.loads(request.forms["payload"])["commits"]: author = commit["author"]["email"] try: task = dict() task["user_id"] = ObjectId(doneit.get_user_by_email(author)["_id"]) task["project_id"] = ObjectId(_id) task["type"] = "done" task["comment"] = commit["message"] task["date"] = datetime.datetime.utcnow() doneit.log("Added commit from " + author) doneit.add_task(task) except: doneit.log("Unknown git commit author:" + author_email) else: doneit.log("Tried to add task from github but authorization failed")