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 138 if (create_session):
139 139 session.CreateItens()
140 140 session.SetLanguage(lang)
141   - session.CreateSessionFile()
  141 + session.WriteSessionFile()
142 142  
143 143 session.SaveConfigFileBackup()
144 144  
... ...
invesalius/session.py
... ... @@ -38,10 +38,6 @@ class Session(object):
38 38 def __init__(self):
39 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 41 def CreateItens(self):
46 42 import constants as const
47 43 self.project_path = ()
... ... @@ -72,10 +68,7 @@ class Session(object):
72 68 self.last_dicom_folder = ''
73 69 self.surface_interpolation = 1
74 70 self.rendering = 0
75   - self.CreateSessionFile()
76   -
77   - def StopRecording(self, pubsub_evt):
78   - self.ws.Stop()
  71 + self.WriteSessionFile()
79 72  
80 73 def SaveConfigFileBackup(self):
81 74 path = os.path.join(self.homedir ,
... ... @@ -103,6 +96,7 @@ class Session(object):
103 96 self.project_status = const.PROJ_CLOSE
104 97 #self.mode = const.MODE_RP
105 98 self.temp_item = False
  99 + self.WriteSessionFile()
106 100  
107 101 def SaveProject(self, path=()):
108 102 import constants as const
... ... @@ -113,6 +107,7 @@ class Session(object):
113 107 self.__add_to_list(path)
114 108 if self.temp_item:
115 109 self.temp_item = False
  110 + self.WriteSessionFile()
116 111  
117 112 def ChangeProject(self):
118 113 import constants as const
... ... @@ -127,6 +122,7 @@ class Session(object):
127 122 self.project_path = (self.tempdir, filename)
128 123 self.project_status = const.PROJ_NEW
129 124 self.temp_item = True
  125 + self.WriteSessionFile()
130 126 return self.tempdir
131 127  
132 128 def OpenProject(self, filepath):
... ... @@ -139,6 +135,7 @@ class Session(object):
139 135 # Set session info
140 136 self.project_path = item
141 137 self.project_status = const.PROJ_OPEN
  138 + self.WriteSessionFile()
142 139  
143 140 def RemoveTemp(self):
144 141 if self.temp_item:
... ... @@ -147,7 +144,7 @@ class Session(object):
147 144 os.remove(path)
148 145 self.temp_item = False
149 146  
150   - def CreateSessionFile(self):
  147 + def WriteSessionFile(self):
151 148 config = ConfigParser.RawConfigParser()
152 149  
153 150 config.add_section('session')
... ... @@ -210,7 +207,7 @@ class Session(object):
210 207  
211 208 def SetLastDicomFolder(self, folder):
212 209 self.last_dicom_folder = folder
213   - self.CreateSessionFile()
  210 + self.WriteSessionFile()
214 211  
215 212 def ReadLanguage(self):
216 213 config = ConfigParser.ConfigParser()
... ... @@ -273,59 +270,5 @@ class Session(object):
273 270 self.surface_interpolation = 0
274 271 self.rendering = 0
275 272 self.random_id = randint(0,pow(10,16))
276   - self.CreateSessionFile()
  273 + self.WriteSessionFile()
277 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()
... ...