mirror of
https://github.com/altlinux/gpupdate.git
synced 2025-03-21 18:50:38 +03:00
Added counter gpt
This commit is contained in:
parent
5dd3ca17e8
commit
326dc0600b
@ -146,11 +146,22 @@ def get_merger(preference_type):
|
||||
return mergers[preference_type]
|
||||
|
||||
class gpt:
|
||||
__policy_num = 0
|
||||
__sid_gpt = str()
|
||||
|
||||
def __init__(self, gpt_path, sid):
|
||||
self.path = gpt_path
|
||||
self.sid = sid
|
||||
self.storage = registry_factory('registry')
|
||||
self.name = ''
|
||||
if not gpt.__sid_gpt:
|
||||
gpt.__sid_gpt = self.sid
|
||||
else:
|
||||
if gpt.__sid_gpt == self.sid:
|
||||
gpt.__policy_num += 1
|
||||
else:
|
||||
gpt.__sid_gpt = self.sid
|
||||
gpt.__policy_num = 0
|
||||
|
||||
self.guid = self.path.rpartition('/')[2]
|
||||
if 'default' == self.guid:
|
||||
@ -210,7 +221,7 @@ class gpt:
|
||||
util.preg.merge_polfile(self.settings['machine']['regpol'], policy_name=self.name)
|
||||
# Merge machine preferences to registry if possible
|
||||
for preference_name, preference_path in self.settings['machine'].items():
|
||||
if preference_path:
|
||||
if preference_path and preference_name != 'scripts':
|
||||
preference_type = get_preftype(preference_path)
|
||||
logdata = dict({'pref': preference_type.value, 'sid': self.sid})
|
||||
log('D28', logdata)
|
||||
@ -218,6 +229,11 @@ class gpt:
|
||||
preference_merger = get_merger(preference_type)
|
||||
preference_objects = preference_parser(preference_path)
|
||||
preference_merger(self.storage, self.sid, preference_objects, self.name)
|
||||
if preference_path and preference_name == 'scripts':
|
||||
logdata = dict({'pref': preference_path, 'sid': self.sid})
|
||||
log('D28', logdata)
|
||||
preference_objects = read_scripts(preference_path)
|
||||
merge_scripts(self.storage, self.sid, preference_objects, self.name, gpt.__policy_num)
|
||||
except Exception as exc:
|
||||
logdata = dict()
|
||||
logdata['gpt'] = self.name
|
||||
@ -236,7 +252,7 @@ class gpt:
|
||||
util.preg.merge_polfile(self.settings['user']['regpol'], sid=self.sid, policy_name=self.name)
|
||||
# Merge user preferences to registry if possible
|
||||
for preference_name, preference_path in self.settings['user'].items():
|
||||
if preference_path:
|
||||
if preference_path and preference_name != 'scripts':
|
||||
preference_type = get_preftype(preference_path)
|
||||
logdata = dict({'pref': preference_type.value, 'sid': self.sid})
|
||||
log('D29', logdata)
|
||||
@ -244,6 +260,11 @@ class gpt:
|
||||
preference_merger = get_merger(preference_type)
|
||||
preference_objects = preference_parser(preference_path)
|
||||
preference_merger(self.storage, self.sid, preference_objects, self.name)
|
||||
if preference_path and preference_name == 'scripts':
|
||||
logdata = dict({'pref': preference_path, 'sid': self.sid})
|
||||
log('D29', logdata)
|
||||
preference_objects = read_scripts(preference_path)
|
||||
merge_scripts(self.storage, self.sid, preference_objects, self.name, gpt.__policy_num)
|
||||
except Exception as exc:
|
||||
logdata = dict()
|
||||
logdata['gpt'] = self.name
|
||||
|
@ -45,7 +45,7 @@ def read_scripts(scripts_file):
|
||||
|
||||
return list(scripts)
|
||||
|
||||
def merge_scripts(storage, sid, scripts_objects, policy_name):
|
||||
def merge_scripts(storage, sid, scripts_objects, policy_name, policy_num):
|
||||
for script in scripts_objects:
|
||||
storage.add_script(sid, script, policy_name)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user