Significantly improve the speed of the version upgrader

This knocked about 10 seconds from my boot time. Huzzah :D
This commit is contained in:
Jaime van Kessel 2024-07-03 17:27:27 +02:00
parent 48c3ec77dc
commit 4fb9042dbf
No known key found for this signature in database
GPG key ID: C85F7A3AF1BAA7C4
4 changed files with 2 additions and 29 deletions

View file

@ -33,23 +33,6 @@ _renamed_i18n = {
class VersionUpgrade27to30(VersionUpgrade):
## Gets the version number from a CFG file in Uranium's 2.7 format.
#
# Since the format may change, this is implemented for the 2.7 format only
# and needs to be included in the version upgrade system rather than
# globally in Uranium.
#
# \param serialised The serialised form of a CFG file.
# \return The version number stored in the CFG file.
# \raises ValueError The format of the version number in the file is
# incorrect.
# \raises KeyError The format of the file is incorrect.
def getCfgVersion(self, serialised: str) -> int:
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialised)
format_version = int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised.
setting_version = int(parser.get("metadata", "setting_version", fallback = "0"))
return format_version * 1000000 + setting_version
## Upgrades a preferences file from version 2.7 to 3.0.
#