apply code review suggestions

This commit is contained in:
Stavros kois
2023-11-17 15:09:16 +02:00
committed by Stavros Kois
parent 1b2fb81080
commit 1de4b18108

View File

@@ -5,41 +5,36 @@ import sys
# Used to migrate storage format to include ACLs
def storageMigrate(storage):
delKeys = []
def storage_migrate(storage):
delete_keys = []
if storage['type'] == 'hostPath':
# Check if the key exists, if not we have already migrated
if not storage.get('hostPath'):
return storage
hostPath = storage['hostPath']
storage['hostPathConfig'] = { 'hostPath': hostPath }
delKeys.append('hostPath')
storage['hostPathConfig'] = {'hostPath': storage['hostPath']}
delete_keys.append('hostPath')
if storage['type'] == 'ixVolume':
# Check if the key exists, if not we have already migrated
if not storage.get('datasetName'):
return storage
datasetName = storage['datasetName']
storage['ixVolumeConfig'] = { 'datasetName': datasetName }
delKeys.append('datasetName')
storage['ixVolumeConfig'] = {'datasetName': storage['datasetName']}
delete_keys.append('datasetName')
for key in delKeys:
for key in delete_keys:
del storage[key]
return storage
# Used to migrate libraries to additionalStorages
def librariesMigrate(libraries):
def libraries_migrate(libraries):
# Additional **Libraries** only had a field for hostPath, because Immich
# had a requirement for both hostPath and mountPath to be the same,
# now its no longer the case, so we can merge it with additionalStorages
for idx, library in enumerate(libraries):
if not isinstance(library, dict) or not library:
continue
libraries[idx].update({
'type': 'hostPath',
'mountPath': library['hostPath'],
@@ -54,25 +49,21 @@ def librariesMigrate(libraries):
def migrate(values):
storageKey = 'immichStorage'
storage_key = 'immichStorage'
storages = ['uploads', 'library', 'thumbs', 'profile', 'video', 'pgData', 'pgBackup']
for storage in storages:
check_val = values.get(storageKey, {}).get(storage, {})
if not isinstance(check_val, dict) or not check_val:
continue
values[storageKey][storage] = storageMigrate(check_val)
values[storage_key][storage] = storage_migrate(values[storage_key][storage])
# Migrate additionalLibraries,
# if additionalLibraries does not exist, we have already migrated
if libraries := values.get(storageKey, {}).get('additionalLibraries'):
if libraries := values[storage_key].get('additionalLibraries', []):
# If additionalLibraries exists, additionalStorages does not exist yet
values[storageKey].update({
'additionalStorages': librariesMigrate(libraries)
values[storage_key].update({
'additionalStorages': libraries_migrate(libraries)
})
del values[storageKey]['additionalLibraries']
del values[storage_key]['additionalLibraries']
return values