src/eric7/WebBrowser/Session/SessionManager.py

branch
eric7
changeset 9500
5771348ded12
parent 9482
a2bc06a54d9d
child 9573
9960d19d66b5
equal deleted inserted replaced
9499:dd389c57c2f0 9500:5771348ded12
11 import functools 11 import functools
12 import json 12 import json
13 import os 13 import os
14 import pathlib 14 import pathlib
15 import shutil 15 import shutil
16
17 from dataclasses import dataclass
16 18
17 from PyQt6.QtCore import ( 19 from PyQt6.QtCore import (
18 QByteArray, 20 QByteArray,
19 QDateTime, 21 QDateTime,
20 QDir, 22 QDir,
41 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor 43 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor
42 from eric7.EricWidgets import EricMessageBox 44 from eric7.EricWidgets import EricMessageBox
43 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow 45 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow
44 46
45 47
48 @dataclass
46 class SessionMetaData: 49 class SessionMetaData:
47 """ 50 """
48 Class implementing a data structure to store meta data for a session. 51 Class implementing a data structure to store meta data for a session.
49 """ 52 """
50 53
51 def __init__(self): 54 name: str = ""
52 """ 55 filePath: str = ""
53 Constructor 56 isActive: bool = False
54 """ 57 isDefault: bool = False
55 self.name = "" 58 isBackup: bool = False
56 self.filePath = ""
57 self.isActive = False
58 self.isDefault = False
59 self.isBackup = False
60 59
61 60
62 class SessionManager(QObject): 61 class SessionManager(QObject):
63 """ 62 """
64 Class implementing the session manager. 63 Class implementing the session manager.
295 self.__fillMetaDataList() 294 self.__fillMetaDataList()
296 295
297 metaDataList = self.__sessionMetaData[:] 296 metaDataList = self.__sessionMetaData[:]
298 297
299 if includeBackups and os.path.exists(self.__sessionBackup1): 298 if includeBackups and os.path.exists(self.__sessionBackup1):
300 data = SessionMetaData() 299 data = SessionMetaData(
301 data.name = self.tr("Backup 1") 300 name=self.tr("Backup 1"),
302 data.filePath = self.__sessionBackup1 301 filePath=self.__sessionBackup1,
303 data.isBackup = True 302 isBackup=True,
303 )
304 metaDataList.append(data) 304 metaDataList.append(data)
305 305
306 if includeBackups and os.path.exists(self.__sessionBackup2): 306 if includeBackups and os.path.exists(self.__sessionBackup2):
307 data = SessionMetaData() 307 data = SessionMetaData(
308 data.name = self.tr("Backup 2") 308 name=self.tr("Backup 2"),
309 data.filePath = self.__sessionBackup2 309 filePath=self.__sessionBackup2,
310 data.isBackup = True 310 isBackup=True,
311 )
311 metaDataList.append(data) 312 metaDataList.append(data)
312 313
313 return metaDataList 314 return metaDataList
314 315
315 def __fillMetaDataList(self): 316 def __fillMetaDataList(self):
327 for sessionFile in sessionFiles: 328 for sessionFile in sessionFiles:
328 sessionData = self.readSessionFromFile(sessionFile.resolve()) 329 sessionData = self.readSessionFromFile(sessionFile.resolve())
329 if not sessionData or not sessionData["Windows"]: 330 if not sessionData or not sessionData["Windows"]:
330 continue 331 continue
331 332
332 data = SessionMetaData() 333 data = SessionMetaData(
333 data.name = sessionFile.stem 334 name=sessionFile.stem,
334 data.filePath = sessionFile.resolve() 335 filePath=sessionFile.resolve(),
336 )
335 337
336 if sessionFile == pathlib.Path(self.defaultSessionFile()): 338 if sessionFile == pathlib.Path(self.defaultSessionFile()):
337 data.name = self.tr("Default Session") 339 data.name = self.tr("Default Session")
338 data.isDefault = True 340 data.isDefault = True
339 341

eric ide

mercurial