mirror of
https://github.com/altlinux/gpupdate.git
synced 2025-08-25 09:49:53 +03:00
Added table support for scripts
This commit is contained in:
committed by
Evgeny Sinelnikov
parent
3ff6f053ea
commit
be0603e809
@ -44,6 +44,7 @@ from .record_types import (
|
|||||||
, drive_entry
|
, drive_entry
|
||||||
, folder_entry
|
, folder_entry
|
||||||
, envvar_entry
|
, envvar_entry
|
||||||
|
, script_entry
|
||||||
)
|
)
|
||||||
|
|
||||||
class sqlite_registry(registry):
|
class sqlite_registry(registry):
|
||||||
@ -143,6 +144,18 @@ class sqlite_registry(registry):
|
|||||||
, Column('value', String)
|
, Column('value', String)
|
||||||
, UniqueConstraint('sid', 'name')
|
, UniqueConstraint('sid', 'name')
|
||||||
)
|
)
|
||||||
|
self.__scripts = Table(
|
||||||
|
'Scripts'
|
||||||
|
, self.__metadata
|
||||||
|
, Column('id', Integer, primary_key=True)
|
||||||
|
, Column('sid', String)
|
||||||
|
, Column('policy_name', String)
|
||||||
|
, Column('queue', String)
|
||||||
|
, Column('action', String)
|
||||||
|
, Column('path', String)
|
||||||
|
, Column('arg', String)
|
||||||
|
, UniqueConstraint('sid', 'path', 'arg')
|
||||||
|
)
|
||||||
self.__metadata.create_all(self.db_cnt)
|
self.__metadata.create_all(self.db_cnt)
|
||||||
Session = sessionmaker(bind=self.db_cnt)
|
Session = sessionmaker(bind=self.db_cnt)
|
||||||
self.db_session = Session()
|
self.db_session = Session()
|
||||||
@ -155,6 +168,7 @@ class sqlite_registry(registry):
|
|||||||
mapper(drive_entry, self.__drives)
|
mapper(drive_entry, self.__drives)
|
||||||
mapper(folder_entry, self.__folders)
|
mapper(folder_entry, self.__folders)
|
||||||
mapper(envvar_entry, self.__envvars)
|
mapper(envvar_entry, self.__envvars)
|
||||||
|
mapper(script_entry, self.__scripts)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
#logging.error('Error creating mapper')
|
#logging.error('Error creating mapper')
|
||||||
@ -365,6 +379,21 @@ class sqlite_registry(registry):
|
|||||||
.filter(envvar_entry.name == ev_entry.name)
|
.filter(envvar_entry.name == ev_entry.name)
|
||||||
.update(ev_entry.update_fields()))
|
.update(ev_entry.update_fields()))
|
||||||
self.db_session.commit()
|
self.db_session.commit()
|
||||||
|
def add_script(self, sid, scrobj, policy_name):
|
||||||
|
scr_entry = script_entry(sid, scrobj, policy_name)
|
||||||
|
logdata = dict()
|
||||||
|
logdata['script path'] = scrobj.path
|
||||||
|
logdata['sid'] = sid
|
||||||
|
print(logdata)
|
||||||
|
try:
|
||||||
|
self._add(scr_entry)
|
||||||
|
except Exception as exc:
|
||||||
|
(self
|
||||||
|
._filter_sid_obj(script_entry, sid)
|
||||||
|
.filter(script_entry.path == scr_entry.path)
|
||||||
|
.update(scr_entry.update_fields()))
|
||||||
|
self.db_session.commit()
|
||||||
|
|
||||||
|
|
||||||
def _filter_sid_obj(self, row_object, sid):
|
def _filter_sid_obj(self, row_object, sid):
|
||||||
res = (self
|
res = (self
|
||||||
@ -397,6 +426,10 @@ class sqlite_registry(registry):
|
|||||||
def get_envvars(self, sid):
|
def get_envvars(self, sid):
|
||||||
return self._filter_sid_list(envvar_entry, sid)
|
return self._filter_sid_list(envvar_entry, sid)
|
||||||
|
|
||||||
|
def get_scripts(self, sid):
|
||||||
|
return self._filter_sid_list(script_entry, sid)
|
||||||
|
|
||||||
|
|
||||||
def get_hkcu_entry(self, sid, hive_key):
|
def get_hkcu_entry(self, sid, hive_key):
|
||||||
res = (self
|
res = (self
|
||||||
.db_session
|
.db_session
|
||||||
|
Reference in New Issue
Block a user