def update(self, key): person = Person.get(key) person.name=self.params["name"] person.identifiers=map(unicode.lower, self.params["identifiers"]) person.circles=map(unicode.lower, self.params["circles"]) person.put() self.redirect("/p")
def add(task_dict): """ task_dict: { 'owner_token' : str(64) -> person.token, 'due': datetime.datetime, 'title': str(), 'body': str(), 'important': bool(), 'done': bool() } """ p = Person.get(task_dict['owner_token']) if not p: raise Exception('Owner does not exist!') try: t = Task( owner_id= p.id, due= task_dict['due'], title= task_dict['title'], body= task_dict['body'], important= task_dict['important'], done= task_dict['done'], token=token_urlsafe(32) ) except: raise Exception('Problem in request dict') redis_client.delete(Person.get_id(t.owner_id).token + '-tasks') db.session.add(t) db.session.commit() redis_client.set(t.token, json.dumps(t.to_dict()), ex=1800) return t
def get_person_profile(token): try: p = Person.get(token) tasks = Task.get_all(token) cnt_tasks = len(tasks) imp_tasks = 0 done_tasks = 0 for t in tasks: if t['done']: done_tasks += 1 if t['important']: imp_tasks += 1 imp_p = 0 done_p = 0 if cnt_tasks != 0: imp_p = imp_tasks / cnt_tasks done_p = done_tasks / cnt_tasks res = { 'tasks': cnt_tasks, 'imp_tasks': imp_tasks, 'done_tasks': done_tasks, 'imp_p': imp_p, 'done_p': done_p, 'user': p.username } return jsonify(res), 200 except Exception as e: return jsonify({'e': e.__str__()}), 500
def circles(self): """docstring for circles""" cs = dict() peeps = Person.get(self.people) for person in peeps: for circle in person.circles: cs.setdefault(circle, []).append(person) return cs
def show(self, circle): people = None if circle == '*': people = Person.get(self.account.people) else: people = self.account.people_in(circle) people = map( lambda person: dict(key=str(person.key()), name=person.name, identifiers=person.identifiers, circles=person.circles), people) self.write(simplejson.dumps(dict(people=people)));
def get_all(_token): p_redis = redis_client.get(_token) if p_redis: p = Person.from_dict(json.loads(p_redis)) else: p = Person.get(_token) if not p: raise Exception('Owner does not exist!') tasks_redis = redis_client.get(_token + '-tasks') if tasks_redis: tasks = json.loads(tasks_redis) else: tasks = list(Task.query.filter_by(owner_id=p.id)) res = [] for t in tasks: res.append(t.to_dict()) tasks = res print(tasks, tasks_redis) if not tasks_redis: redis_client.set(_token + "-tasks", json.dumps(tasks), ex=1800) return tasks
def edit(self, key): self.vars["person"] = Person.get(key) self.render("people/edit.html")
def index(self): self.vars["people"] = Person.get(self.account.people) self.render('people/index.html')
def people_models(self): return Person.get(self.people)
def get_person(token): try: p = Person.get(token) return jsonify(p.to_dict()) except Exception as e: return jsonify({'e': e.__str__()}), 500