6
0
Eric Tröbs 4 жил өмнө
parent
commit
445a0c66bb

+ 3 - 0
pycs/projects/Project.py

@@ -20,6 +20,9 @@ class Project(ObservableDict):
         # initialize super
         super().__init__(obj, parent)
 
+        # subscribe to changes to write to disk afterwards
+        self.subscribe(lambda d: self.parent.write_project(self['id']))
+
     def update_properties(self, update):
         set_recursive(update, self)
 

+ 3 - 4
pycs/projects/ProjectManager.py

@@ -26,10 +26,9 @@ class ProjectManager(ObservableDict):
             # load project.json
             with open(path.join(folder, 'project.json'), 'r') as file:
                 project = Project(load(file), self)
-                project['jobs'] = {}
                 self[project['id']] = project
 
-    def __write_project(self, uuid):
+    def write_project(self, uuid):
         with open(path.join('projects', uuid, 'project.json'), 'w') as file:
             copy = self[uuid].copy()
             del copy['jobs']
@@ -57,7 +56,7 @@ class ProjectManager(ObservableDict):
         mkdir(folder)
 
         # create project.json
-        self.__write_project(uuid)
+        self.write_project(uuid)
 
     def update_project(self, uuid, update):
         # abort if uuid is no valid key
@@ -66,7 +65,7 @@ class ProjectManager(ObservableDict):
 
         # set values and write to disk
         self[uuid].update_properties(update)
-        self.__write_project(uuid)
+        self.write_project(uuid)
 
     def delete_project(self, uuid):
         # abort if uuid is no valid key