Commit 77af715629b4a431440308911c02f693bf782f2c
1 parent
c966f30b
Exists in
beta4
Not using thread anymore to write session file
Showing
2 changed files
with
9 additions
and
66 deletions
Show diff stats
invesalius/invesalius.py
@@ -138,7 +138,7 @@ class SplashScreen(wx.SplashScreen): | @@ -138,7 +138,7 @@ class SplashScreen(wx.SplashScreen): | ||
138 | if (create_session): | 138 | if (create_session): |
139 | session.CreateItens() | 139 | session.CreateItens() |
140 | session.SetLanguage(lang) | 140 | session.SetLanguage(lang) |
141 | - session.CreateSessionFile() | 141 | + session.WriteSessionFile() |
142 | 142 | ||
143 | session.SaveConfigFileBackup() | 143 | session.SaveConfigFileBackup() |
144 | 144 |
invesalius/session.py
@@ -38,10 +38,6 @@ class Session(object): | @@ -38,10 +38,6 @@ class Session(object): | ||
38 | def __init__(self): | 38 | def __init__(self): |
39 | self.temp_item = False | 39 | self.temp_item = False |
40 | 40 | ||
41 | - ws = self.ws = WriteSession(self) | ||
42 | - ws.start() | ||
43 | - Publisher.subscribe(self.StopRecording, "Stop Config Recording") | ||
44 | - | ||
45 | def CreateItens(self): | 41 | def CreateItens(self): |
46 | import constants as const | 42 | import constants as const |
47 | self.project_path = () | 43 | self.project_path = () |
@@ -72,10 +68,7 @@ class Session(object): | @@ -72,10 +68,7 @@ class Session(object): | ||
72 | self.last_dicom_folder = '' | 68 | self.last_dicom_folder = '' |
73 | self.surface_interpolation = 1 | 69 | self.surface_interpolation = 1 |
74 | self.rendering = 0 | 70 | self.rendering = 0 |
75 | - self.CreateSessionFile() | ||
76 | - | ||
77 | - def StopRecording(self, pubsub_evt): | ||
78 | - self.ws.Stop() | 71 | + self.WriteSessionFile() |
79 | 72 | ||
80 | def SaveConfigFileBackup(self): | 73 | def SaveConfigFileBackup(self): |
81 | path = os.path.join(self.homedir , | 74 | path = os.path.join(self.homedir , |
@@ -103,6 +96,7 @@ class Session(object): | @@ -103,6 +96,7 @@ class Session(object): | ||
103 | self.project_status = const.PROJ_CLOSE | 96 | self.project_status = const.PROJ_CLOSE |
104 | #self.mode = const.MODE_RP | 97 | #self.mode = const.MODE_RP |
105 | self.temp_item = False | 98 | self.temp_item = False |
99 | + self.WriteSessionFile() | ||
106 | 100 | ||
107 | def SaveProject(self, path=()): | 101 | def SaveProject(self, path=()): |
108 | import constants as const | 102 | import constants as const |
@@ -113,6 +107,7 @@ class Session(object): | @@ -113,6 +107,7 @@ class Session(object): | ||
113 | self.__add_to_list(path) | 107 | self.__add_to_list(path) |
114 | if self.temp_item: | 108 | if self.temp_item: |
115 | self.temp_item = False | 109 | self.temp_item = False |
110 | + self.WriteSessionFile() | ||
116 | 111 | ||
117 | def ChangeProject(self): | 112 | def ChangeProject(self): |
118 | import constants as const | 113 | import constants as const |
@@ -127,6 +122,7 @@ class Session(object): | @@ -127,6 +122,7 @@ class Session(object): | ||
127 | self.project_path = (self.tempdir, filename) | 122 | self.project_path = (self.tempdir, filename) |
128 | self.project_status = const.PROJ_NEW | 123 | self.project_status = const.PROJ_NEW |
129 | self.temp_item = True | 124 | self.temp_item = True |
125 | + self.WriteSessionFile() | ||
130 | return self.tempdir | 126 | return self.tempdir |
131 | 127 | ||
132 | def OpenProject(self, filepath): | 128 | def OpenProject(self, filepath): |
@@ -139,6 +135,7 @@ class Session(object): | @@ -139,6 +135,7 @@ class Session(object): | ||
139 | # Set session info | 135 | # Set session info |
140 | self.project_path = item | 136 | self.project_path = item |
141 | self.project_status = const.PROJ_OPEN | 137 | self.project_status = const.PROJ_OPEN |
138 | + self.WriteSessionFile() | ||
142 | 139 | ||
143 | def RemoveTemp(self): | 140 | def RemoveTemp(self): |
144 | if self.temp_item: | 141 | if self.temp_item: |
@@ -147,7 +144,7 @@ class Session(object): | @@ -147,7 +144,7 @@ class Session(object): | ||
147 | os.remove(path) | 144 | os.remove(path) |
148 | self.temp_item = False | 145 | self.temp_item = False |
149 | 146 | ||
150 | - def CreateSessionFile(self): | 147 | + def WriteSessionFile(self): |
151 | config = ConfigParser.RawConfigParser() | 148 | config = ConfigParser.RawConfigParser() |
152 | 149 | ||
153 | config.add_section('session') | 150 | config.add_section('session') |
@@ -210,7 +207,7 @@ class Session(object): | @@ -210,7 +207,7 @@ class Session(object): | ||
210 | 207 | ||
211 | def SetLastDicomFolder(self, folder): | 208 | def SetLastDicomFolder(self, folder): |
212 | self.last_dicom_folder = folder | 209 | self.last_dicom_folder = folder |
213 | - self.CreateSessionFile() | 210 | + self.WriteSessionFile() |
214 | 211 | ||
215 | def ReadLanguage(self): | 212 | def ReadLanguage(self): |
216 | config = ConfigParser.ConfigParser() | 213 | config = ConfigParser.ConfigParser() |
@@ -273,59 +270,5 @@ class Session(object): | @@ -273,59 +270,5 @@ class Session(object): | ||
273 | self.surface_interpolation = 0 | 270 | self.surface_interpolation = 0 |
274 | self.rendering = 0 | 271 | self.rendering = 0 |
275 | self.random_id = randint(0,pow(10,16)) | 272 | self.random_id = randint(0,pow(10,16)) |
276 | - self.CreateSessionFile() | 273 | + self.WriteSessionFile() |
277 | return True | 274 | return True |
278 | - | ||
279 | - | ||
280 | -class WriteSession(Thread): | ||
281 | - | ||
282 | - def __init__ (self, session): | ||
283 | - Thread.__init__(self) | ||
284 | - self.session = session | ||
285 | - self.runing = 1 | ||
286 | - | ||
287 | - def run(self): | ||
288 | - while self.runing: | ||
289 | - time.sleep(10) | ||
290 | - try: | ||
291 | - self.Write() | ||
292 | - except AttributeError: | ||
293 | - debug("Session: trying to write into inexistent file") | ||
294 | - | ||
295 | - def Stop(self): | ||
296 | - self.runing = 0 | ||
297 | - | ||
298 | - def Write(self): | ||
299 | - import utils as utl | ||
300 | - | ||
301 | - config = ConfigParser.RawConfigParser() | ||
302 | - | ||
303 | - config.add_section('session') | ||
304 | - config.set('session', 'mode', self.session.mode) | ||
305 | - config.set('session', 'status', self.session.project_status) | ||
306 | - config.set('session','debug', self.session.debug) | ||
307 | - config.set('session', 'language', self.session.language) | ||
308 | - config.set('session', 'random_id', self.session.random_id) | ||
309 | - config.set('session', 'surface_interpolation', self.session.surface_interpolation) | ||
310 | - config.set('session', 'rendering', self.session.rendering) | ||
311 | - | ||
312 | - config.add_section('project') | ||
313 | - config.set('project', 'recent_projects', self.session.recent_projects) | ||
314 | - | ||
315 | - config.add_section('paths') | ||
316 | - config.set('paths','homedir',self.session.homedir) | ||
317 | - config.set('paths','tempdir',self.session.tempdir) | ||
318 | - config.set('paths','last_dicom_folder', self.session.last_dicom_folder) | ||
319 | - | ||
320 | - path = os.path.join(self.session.homedir , | ||
321 | - '.invesalius', 'config.cfg') | ||
322 | - | ||
323 | - try: | ||
324 | - configfile = open(path, 'wb') | ||
325 | - except IOError: | ||
326 | - return | ||
327 | - utl.debug("Session - IOError") | ||
328 | - finally: | ||
329 | - self.session.CreateSessionFile() | ||
330 | - | ||
331 | - configfile.close() |