Repository navigation
Expand file tree
/
Copy pathmodel.py
More file actions
94 lines (68 loc) · 2.09 KB
/
Copy pathmodel.py
File metadata and controls
94 lines (68 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#ops
import json
from google.appengine.ext import ndb
class Task(ndb.Model):
name = ndb.StringProperty()
done = ndb.StringProperty()
xp = ndb.IntegerProperty()
questKey = ndb.KeyProperty()
userKey = ndb.KeyProperty()
progress = ndb.IntegerProperty()
def to_dct(self):
dct = self.to_dict()
del dct['questKey']
dct['id'] = self.key.id()
dct['done'] = 1 if self.done == "true" else 0
return dct
class Quest(ndb.Model):
progress = ndb.IntegerProperty()
name = ndb.StringProperty()
description = ndb.StringProperty()
xp = ndb.IntegerProperty()
deadline = ndb.StringProperty()
projectKey = ndb.KeyProperty()
def get_tasks(self):
return Task.query(Task.questKey==self.key).fetch()
def delete(self):
for task in self.get_tasks():
task.key.delete()
self.key.delete()
#temAttachment
def to_dct(self):
dct = self.to_dict()
dct['id'] = self.key.id()
dct['projectKey'] = self.projectKey.id()
tasks = self.get_tasks()
dct['tasks'] = [q.to_dct() for q in tasks]
return dct
class Project(ndb.Model):
name = ndb.StringProperty()
description = ndb.StringProperty()
xp = ndb.IntegerProperty()
progress = ndb.IntegerProperty()
def get_quests(self):
return Quest.query(Quest.projectKey==self.key).fetch()
def delete(self):
for quest in self.get_quests():
quest.delete()
self.key.delete()
#temUser
#temComments
def to_dct(self):
dct = self.to_dict()
dct['id'] = self.key.id()
quests = self.get_quests()
dct['quests'] = [q.to_dct() for q in quests]
return dct
class User(ndb.Model):
name = ndb.StringProperty()
email = ndb.StringProperty()
picturePath = ndb.StringProperty()
class Attachment(ndb.Model):
title = ndb.StringProperty()
name = ndb.StringProperty()
when = ndb.StringProperty()
type = ndb.StringProperty()
class Comment(ndb.Model):
content = ndb.StringProperty()
when = ndb.StringProperty()