annotate python/libs/project.py @ 67:99bf4f7d47f4

Changed project storage
author windel
date Fri, 12 Oct 2012 16:11:31 +0200
parents 32078200cdd6
children 654c5ac4f2c5
rev   line source
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
1 """
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
2 source project
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
3 contains:
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
4 - modules
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
5 - primitives like functions, types and variables
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
6 - other modules
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
7
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
8 """
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
9
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
10 import json
15
de004f808e56 Fixup in multidocument area stuff
windel
parents: 8
diff changeset
11
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
12 class Project:
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
13 def __init__(self, filename=None):
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
14 self.name = ""
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
15 self.modules = []
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
16 self.elements = []
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
17 self.settings = {}
15
de004f808e56 Fixup in multidocument area stuff
windel
parents: 8
diff changeset
18 self.filename = filename
de004f808e56 Fixup in multidocument area stuff
windel
parents: 8
diff changeset
19
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
20 if self.filename:
15
de004f808e56 Fixup in multidocument area stuff
windel
parents: 8
diff changeset
21 """ Load the project from the XML file """
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
22 with open(self.filename, 'r') as f:
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
23 d = json.load(f)
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
24 self.elements = d['elements']
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
25
67
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
26 def save(self):
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
27 if self.filename:
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
28 d = {'elements': self.elements}
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
29 print(d)
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
30 with open(self.filename, 'w') as f:
99bf4f7d47f4 Changed project storage
windel
parents: 63
diff changeset
31 json.dump(d, f)
7
2db4d2b362e6 Added xml project
windel
parents:
diff changeset
32