Exemple #1
0
 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")
Exemple #2
0
 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
Exemple #3
0
 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
Exemple #4
0
 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
Exemple #5
0
 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)));
Exemple #6
0
 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
Exemple #7
0
 def edit(self, key):
   self.vars["person"] = Person.get(key)
   self.render("people/edit.html")
Exemple #8
0
 def index(self):
   self.vars["people"] = Person.get(self.account.people)
   self.render('people/index.html')
Exemple #9
0
 def people_models(self):
     return Person.get(self.people)
Exemple #10
0
 def get_person(token):
     try:
         p = Person.get(token)
         return jsonify(p.to_dict())
     except Exception as e:
         return jsonify({'e': e.__str__()}), 500