Exemple #1
0
 def get(self, request):
     query = select("to_do", (), "WHERE finished='False' ORDER BY priority ASC")
     conn = db_connect()
     cur = conn.cursor()
     res = cur.execute(query).fetchall()
     conn.close()
     return {"data": res}
Exemple #2
0
    def post(self, request):
        result = ""
        obj_fields = {}
        post_env = request.copy()
        post_env["QUERY_STRING"] = ""
        post = cgi.FieldStorage(fp=request["wsgi.input"], environ=post_env, keep_blank_values=True)
        task_name = post["task_name"].value
        if task_name:
            obj_fields["task_name"] = task_name
            due_date = post["due_date"].value
            if due_date:
                try:
                    due_time = datetime.datetime.strptime(due_date, "%Y-%m-%d %H:%M")
                    if due_time > datetime.datetime.now():
                        obj_fields["due_date"] = due_date
                except Exception as e:
                    result = u"<p style='color:red;'>Date format you specified don1t supported"
            if post.has_key("finished"):
                finished = "True"
                obj_fields["finished"] = finished
            tags = post["tags"].value

            if post.has_key("priority"):
                obj_fields["priority"] = post["priority"].value

            conn = db_connect()
            cur = conn.cursor()
            query = insert("to_do", obj_fields)
            cur.execute(query)
            conn.commit()

            query = select("to_do", ("id",), "WHERE ID = (SELECT MAX(ID) FROM to_do)")
            task_id = cur.execute(query).fetchone()[0]

            if tags:
                tag_dict = {}
                tags = tags.split(",")
                for tag in tags:
                    tag_dict["name"] = tag.strip()

                    query = insert("tag", tag_dict)
                    cur.execute(query)
                    conn.commit()

                    query = select("tag", ("id",), "WHERE ID = (SELECT MAX(ID) FROM tag)")
                    tag_id = cur.execute(query).fetchone()[0]

                    todo_tag = {}
                    todo_tag["task_id"] = task_id
                    todo_tag["tag_id"] = tag_id

                    query = insert("todo_tags", todo_tag)
                    cur.execute(query)
                    conn.commit()
            cur.close()
            conn.close()
            result += u"<p style='color:green;'>Success, you task is stored!</p>"
        else:
            result = u"<p style='color:red;'>Please, specify task description</p>"
        return {"method": result}
Exemple #3
0
 def get(self, request):
     query = select(
         "to_do",
         (),
         """WHERE due_date
                                 BETWEEN DATETIME('now') AND DATETIME('now', '+1 day')
                                 ORDER BY priority ASC""",
     )
     conn = db_connect()
     cur = conn.cursor()
     res = cur.execute(query).fetchall()
     conn.close()
     return {"data": res}
Exemple #4
0
 def post(self, request):
     post_env = request.copy()
     error = u"Not finished. Error on update"
     post_env["QUERY_STRING"] = ""
     post = cgi.FieldStorage(fp=request["wsgi.input"], environ=post_env, keep_blank_values=True)
     if post.has_key("task_id"):
         task_id = post["task_id"].value
         query = "UPDATE to_do SET finished = 'True' WHERE id = ?"
         conn = db_connect()
         cur = conn.cursor()
         try:
             res = cur.execute(query, (task_id,))
             cur.close()
             conn.commit()
             conn.close()
         except Exception as e:
             print e
             return str(error)
         return str(u"Finished")
     return str(error)
Exemple #5
0
 def post(self, request):
     post_env = request.copy()
     post_env["QUERY_STRING"] = ""
     post = cgi.FieldStorage(fp=request["wsgi.input"], environ=post_env, keep_blank_values=True)
     if post.has_key("date"):
         date = post["date"].value
         try:
             time.mktime(time.strptime(date, "%Y-%m-%d"))
         except Exception as e:
             return str({"error": "time format error"})
         query = "SELECT * FROM to_do WHERE due_date BETWEEN DATETIME(?) AND DATETIME(?, '+1 day')"
         conn = db_connect()
         cur = conn.cursor()
         res = cur.execute(query, (date, date)).fetchall()
         cur.close()
         conn.close()
         if not res:
             return str(u"<h4>Sorry, can`t find any ;(></h4>")
         template = self.env.get_template("includes/table.html")
         return str(template.render({"data": res}))
Exemple #6
0
 def get(self, request):
     get_env = request.copy()
     query_string = get_env["QUERY_STRING"]
     tag = query_string.split("=")[1]
     query = """ SELECT * FROM to_do
               WHERE
                 finished = 'False'
                 AND
                 id = (
                 SELECT tt.task_id
                 FROM tag AS t
                 INNER JOIN
                 todo_tags AS tt
                 ON t.id = tt.tag_id
                 WHERE name LIKE ?)
     """
     conn = db_connect()
     cur = conn.cursor()
     res = cur.execute(query, (tag,)).fetchall()
     conn.close()
     return {"data": res, "search_string": tag}