8
8
from MicroPie import Server # Import our MicroPie framework
9
9
from pickledb import PickleDB
10
10
11
- # ------------------------------------------------------------------------------
12
- # Database Setup
13
- # ------------------------------------------------------------------------------
11
+
12
+ # ----------------------------------------------------------------------------
13
+ # Database Setup, for production use a better database like sqlite or kenobi
14
+ # ----------------------------------------------------------------------------
15
+
14
16
db = PickleDB ("todo.db" )
15
17
16
18
def add_item (content , tags ):
@@ -41,9 +43,11 @@ def delete_item(item_id):
41
43
db .remove (item_id )
42
44
db .save ()
43
45
44
- # ------------------------------------------------------------------------------
46
+
47
+ # ----------------------------------------------------------------------------
45
48
# ToDoApp Class
46
- # ------------------------------------------------------------------------------
49
+ # ----------------------------------------------------------------------------
50
+
47
51
class ToDoApp (Server ):
48
52
"""Our ToDo application, based on the MicroPie Server."""
49
53
@@ -99,18 +103,20 @@ def add(self):
99
103
)
100
104
return self .redirect ("/" )
101
105
102
- def delete (self , item_id ):
103
- """
104
- GET /delete/<id> -> Delete an item by id and optionally redirect to a tag.
105
- Requires user to be logged in.
106
+ def delete (self , item_id , redirect_tag = None ):
107
+ """Delete a document
108
+ id --> the id of the document to be deleted
109
+ redirect_tag --> if deleted from the tag page redirect back to same
110
+ page
106
111
"""
107
112
if not self .session .get ("logged_in" ):
108
113
return self .redirect ("/login" )
109
114
110
- if item_id :
111
- delete_item (item_id )
112
-
113
- return self .redirect ("/" )
115
+ delete_item (item_id )
116
+ if redirect_tag :
117
+ return self .redirect ("/tag/{}" .format (redirect_tag ))
118
+ else :
119
+ return self .redirect ("/" )
114
120
115
121
def tag (self , tag_value ):
116
122
"""
@@ -125,12 +131,14 @@ def tag(self, tag_value):
125
131
tag_items = matching_tags (tag_value ),
126
132
)
127
133
128
- # ------------------------------------------------------------------------------
134
+
135
+ # ----------------------------------------------------------------------------
129
136
# Main
130
- # ------------------------------------------------------------------------------
137
+ # ----------------------------------------------------------------------------
138
+
131
139
app = ToDoApp ()
132
140
133
- if __name__ == "__main__"
141
+ if __name__ == "__main__" :
134
142
app .run ()
135
143
else :
136
144
wsgi_app = app .wsgi_app
0 commit comments