|
None | __init__ (self, Application application) |
|
None | registerIgnoredFile (self, str file_name) |
|
Dict[int, Set[str]] | getStoragePaths (self, str configuration_type) |
|
None | setCurrentVersions (self, Dict[Tuple[str, int], Any] current_versions) |
|
None | registerCurrentVersion (self, Tuple[str, int] version_info, Any type_info) |
|
bool | upgrade (self) |
|
None | upgradeExtraFile (self, str storage_path, str file_name, str configuration_type) |
|
Optional[int] | getFileVersion (self, str configuration_type, str file_data) |
|
Optional[FilesDataUpdateResult] | updateFilesData (self, str configuration_type, int version, List[str] files_data, List[str] file_names_without_extension) |
|
"VersionUpgradeManager" | getInstance (cls, *args, **kwargs) |
|
Regulates the upgrading of configuration from one application version to the
next.
The process of upgrading will take a look at all profiles, preferences and
machine instances and check their version numbers. If they are older than
the current version number of their respective type of file, an upgrade
route will be planned for it in order to upgrade the file to the current
version in as few conversions as possible.
To this end, the upgrade manager will maintain the shortest routes to the
current version for each of the types of profiles and each old version it
encounters. Once a shortest route is found, it is cached and can be re-used
for all nodes along this route. This minimises the extra start-up time
required for the conversions.
Old versions of the configuration are not deleted, but put in a folder next
to the current (upgraded) versions, where they are never loaded again unless
the user manually retrieves the files.
None UM.VersionUpgradeManager.VersionUpgradeManager.upgradeExtraFile |
( |
|
self, |
|
|
str |
storage_path, |
|
|
str |
file_name, |
|
|
str |
configuration_type |
|
) |
| |
Schedules an additional file for upgrading.
This method is intended to be called by upgrade plug-ins during
upgrading, to make sure we also upgrade any extra files that should be
added during the upgrade process.
Note that the file is not immediately upgraded, but scheduled for
upgrading. If this method is called while the ``upgrade()`` function is
still running, it will get upgraded at the end of that run. If it is
called while the ``upgrade()`` function is not running, it would get
upgraded during the next call to ``upgrade()``.
:param storage_path: The path to where the specified type of file is stored.
:param file_name: The path to the file to upgrade, relative to the storage path.
:param configuration_type: The file type of the specified file.