1
1
from tinydb import TinyDB , Query
2
2
from tinydb .operations import delete
3
+ import json
3
4
4
5
# Programs and Activities databases
5
6
class Activities ():
@@ -19,29 +20,38 @@ def load(self, name, default):
19
20
if name :
20
21
return self .activities .search (self .query .name == name )[0 ]
21
22
elif default is not None :
22
- return self .activities .search (self .query .default == True )[0 ]
23
+ default_Activities = self .activities .search (self .query .default == True )
24
+ if len (self .activities .search (self .query .default == True )) > 0 :
25
+ return self .activities .search (self .query .default == True )[0 ]
26
+ else :
27
+ return None
23
28
24
29
def save (self , activity ):
25
30
if self .activities .search (self .query .name == activity ["name" ]) == []:
26
31
self .activities .insert (activity )
27
32
else :
28
- if activity ["default" ] == True :
29
- default_activity = self .load (None , True )
30
- default_activity ["default" ] = False
31
- self .activities .update (default_activity , self .query .name == default_activity ["name" ])
33
+ if activity .get ("default" , False ) == True :
34
+ self .activities .update ({'default' : False })
32
35
self .activities .update (activity , self .query .name == activity ["name" ])
33
36
34
37
def delete (self , activity ):
35
- activities .remove (self .query .name == activity ["name" ])
38
+ activity = self .activities .search (self .query .name == activity ["name" ])[0 ]
39
+ if activity .get ("default" , False ) == True :
40
+ self .activities .update ({'default' : True }, self .query .stock == True )
41
+ self .activities .remove (self .query .name == activity ["name" ])
36
42
37
43
def list (self ):
38
44
return self .activities .all ()
39
45
40
46
def init_default (self ):
41
47
activities_collection = self .activities .search (self .query .stock == True )
42
48
if len (activities_collection ) == 0 :
49
+ f = open ("activity_default.json" , "r" )
50
+ activity = json .load (f )
51
+ """
43
52
activity = {
44
53
"name": "default",
54
+ "default": True,
45
55
"stock": True,
46
56
"codeFont": 'ubuntumono',
47
57
"description": None,
@@ -112,5 +122,6 @@ def init_default(self):
112
122
"type": 'text',
113
123
}],
114
124
}
125
+ """
115
126
self .save (activity )
116
127
0 commit comments