Commit 8ac676ad265f6d15b5f1389e74dd3a7505354288

Authored by Thiago Franco de Moraes
1 parent 08b16644

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()