mirror of
https://github.com/altlinux/gpupdate.git
synced 2025-10-17 03:33:18 +03:00
Compare commits
3 Commits
0.10.5-alt
...
bugsFix
Author | SHA1 | Date | |
---|---|---|---|
|
a8bc2dbcb5 | ||
|
585811e282 | ||
|
0b497bcc02 |
@@ -61,6 +61,9 @@ class system_gsettings:
|
||||
def append(self, schema, path, data, lock, helper):
|
||||
self.gsettings.append(system_gsetting(schema, path, data, lock, helper))
|
||||
|
||||
def pop(self):
|
||||
self.gsettings.pop()
|
||||
|
||||
def apply(self):
|
||||
config = configparser.ConfigParser()
|
||||
|
||||
|
@@ -78,6 +78,7 @@ class gsettings_applier(applier_frontend):
|
||||
self.override_old_file = os.path.join(self.__global_schema, self.__override_old_file)
|
||||
self.gsettings = system_gsettings(self.override_file)
|
||||
self.locks = dict()
|
||||
self.dictArr = dict()
|
||||
self.__module_enabled = check_enabled(
|
||||
self.storage
|
||||
, self.__module_name
|
||||
@@ -113,16 +114,33 @@ class gsettings_applier(applier_frontend):
|
||||
# Calculate all configured gsettings
|
||||
for setting in self.gsettings_keys:
|
||||
helper = None
|
||||
valuename = setting.hive_key.rpartition('\\')[2]
|
||||
valuename = setting.valuename
|
||||
rp = valuename.rpartition('.')
|
||||
schema = rp[0]
|
||||
path = rp[2]
|
||||
lock = bool(self.locks[valuename]) if valuename in self.locks else None
|
||||
data = setting.data
|
||||
|
||||
if setting.hive_key.lower() == self.__wallpaper_entry.lower():
|
||||
self.update_file_cache(setting.data)
|
||||
helper = self.uri_fetch_helper
|
||||
self.gsettings.append(schema, path, setting.data, lock, helper)
|
||||
# Registry branch ends with back slash.
|
||||
# If keyname starts with same prefix, it would be array
|
||||
elif setting.keyname.lower().startswith(self.__registry_branch.lower()):
|
||||
valuenameArr = setting.keyname.rpartition('\\')[2]
|
||||
if valuenameArr:
|
||||
valuename = valuenameArr
|
||||
rpArr = valuename.rpartition('.')
|
||||
schema = rpArr[0]
|
||||
path = rpArr[2]
|
||||
if self.dictArr and path in self.dictArr.keys():
|
||||
self.dictArr[path].append(setting.data)
|
||||
self.gsettings.pop()
|
||||
else:
|
||||
self.dictArr[path] = [setting.data,]
|
||||
data = self.dictArr[path]
|
||||
|
||||
lock = bool(self.locks[valuename]) if valuename in self.locks else None
|
||||
self.gsettings.append(schema, path, data, lock, helper)
|
||||
# Create GSettings policy with highest available priority
|
||||
self.gsettings.apply()
|
||||
|
||||
@@ -193,7 +211,7 @@ class gsettings_applier_user(applier_frontend):
|
||||
self.gsettings = list()
|
||||
self.__module_enabled = check_enabled(self.storage, self.__module_name, self.__module_enabled)
|
||||
self.__windows_mapping_enabled = check_windows_mapping_enabled(self.storage)
|
||||
|
||||
self.dictArr = dict()
|
||||
self.__windows_settings = dict()
|
||||
self.windows_settings = list()
|
||||
mapping = [
|
||||
@@ -265,6 +283,18 @@ class gsettings_applier_user(applier_frontend):
|
||||
schema = rp[0]
|
||||
path = rp[2]
|
||||
helper = self.uri_fetch_helper if setting.hive_key.lower() == self.__wallpaper_entry.lower() else None
|
||||
if valuename == setting.data:
|
||||
valuenameArr = setting.keyname.rpartition('\\')[2]
|
||||
rpArr = valuenameArr.rpartition('.')
|
||||
schema = rpArr[0]
|
||||
path = rpArr[2]
|
||||
if self.dictArr and path in self.dictArr.keys():
|
||||
self.dictArr[path].append(setting.data)
|
||||
self.gsettings.pop()
|
||||
else:
|
||||
self.dictArr[path] = [setting.data,]
|
||||
self.gsettings.append(user_gsetting(schema, path, self.dictArr[path], helper))
|
||||
continue
|
||||
self.gsettings.append(user_gsetting(schema, path, setting.data, helper))
|
||||
|
||||
# Create GSettings policy with highest available priority
|
||||
|
Reference in New Issue
Block a user