TimeTracker/TimeTracker.py

changeset 89
e38b60832145
parent 87
4ac2329b36da
child 91
3051e6733cda
equal deleted inserted replaced
88:4920646f1e1c 89:e38b60832145
136 """ 136 """
137 Private slot to read the time tracker entries from a file. 137 Private slot to read the time tracker entries from a file.
138 """ 138 """
139 if os.path.exists(self.__trackerFilePath): 139 if os.path.exists(self.__trackerFilePath):
140 try: 140 try:
141 f = open(self.__trackerFilePath, "r", encoding="utf-8") 141 with open(self.__trackerFilePath, "r", encoding="utf-8") as f:
142 data = f.read() 142 data = f.read()
143 f.close()
144 except (IOError, OSError) as err: 143 except (IOError, OSError) as err:
145 E5MessageBox.critical( 144 E5MessageBox.critical(
146 self.__ui, 145 self.__ui,
147 self.tr("Read Time Tracker File"), 146 self.tr("Read Time Tracker File"),
148 self.tr("""<p>The time tracker file <b>{0}</b> could""" 147 self.tr("""<p>The time tracker file <b>{0}</b> could"""
184 entriesList = [self.__entries[eid] for eid in ids 183 entriesList = [self.__entries[eid] for eid in ids
185 if eid in self.__entries] 184 if eid in self.__entries]
186 else: 185 else:
187 entriesList = self.__entries.values() 186 entriesList = self.__entries.values()
188 try: 187 try:
189 f = open(filePath, "w", encoding="utf-8") 188 with open(filePath, "w", encoding="utf-8") as f:
190 for entry in entriesList: 189 for entry in entriesList:
191 if entry.isValid(): 190 if entry.isValid():
192 f.write(entry.toString() + "\n") 191 f.write(entry.toString() + "\n")
193 f.close()
194 except (IOError, OSError) as err: 192 except (IOError, OSError) as err:
195 E5MessageBox.critical( 193 E5MessageBox.critical(
196 self.__ui, 194 self.__ui,
197 self.tr("Save Time Tracker File"), 195 self.tr("Save Time Tracker File"),
198 self.tr("""<p>The time tracker file <b>{0}</b> could""" 196 self.tr("""<p>The time tracker file <b>{0}</b> could"""
204 Public slot to import tracker entries from a file. 202 Public slot to import tracker entries from a file.
205 203
206 @param fname name of the file to import (string) 204 @param fname name of the file to import (string)
207 """ 205 """
208 try: 206 try:
209 f = open(fname, "r", encoding="utf-8") 207 with open(fname, "r", encoding="utf-8") as f:
210 data = f.read() 208 data = f.read()
211 f.close()
212 except (IOError, OSError) as err: 209 except (IOError, OSError) as err:
213 E5MessageBox.critical( 210 E5MessageBox.critical(
214 self.__ui, 211 self.__ui,
215 self.tr("Import Time Tracker File"), 212 self.tr("Import Time Tracker File"),
216 self.tr("""<p>The time tracker file <b>{0}</b> could""" 213 self.tr("""<p>The time tracker file <b>{0}</b> could"""

eric ide

mercurial