11from tinydb import TinyDB , Query
22from tinydb .operations import delete
3+ import json
34
45# Programs and Activities databases
56class Activities ():
@@ -19,29 +20,38 @@ def load(self, name, default):
1920 if name :
2021 return self .activities .search (self .query .name == name )[0 ]
2122 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
2328
2429 def save (self , activity ):
2530 if self .activities .search (self .query .name == activity ["name" ]) == []:
2631 self .activities .insert (activity )
2732 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 })
3235 self .activities .update (activity , self .query .name == activity ["name" ])
3336
3437 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" ])
3642
3743 def list (self ):
3844 return self .activities .all ()
3945
4046 def init_default (self ):
4147 activities_collection = self .activities .search (self .query .stock == True )
4248 if len (activities_collection ) == 0 :
49+ f = open ("activity_default.json" , "r" )
50+ activity = json .load (f )
51+ """
4352 activity = {
4453 "name": "default",
54+ "default": True,
4555 "stock": True,
4656 "codeFont": 'ubuntumono',
4757 "description": None,
@@ -112,5 +122,6 @@ def init_default(self):
112122 "type": 'text',
113123 }],
114124 }
125+ """
115126 self .save (activity )
116127
0 commit comments