[apparmor] [PATCH 2/2] Add JSON interface to UI_Changes
Goldwyn Rodrigues
rgoldwyn at suse.de
Mon Oct 23 10:38:34 UTC 2017
From: Goldwyn Rodrigues <rgoldwyn at suse.com>
Provides the filename in the json format, which can be
directly read by Yast. Increased the protocol version; perhaps
it should go in the next release.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.com>
---
utils/apparmor/ui.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/utils/apparmor/ui.py b/utils/apparmor/ui.py
index be07b28a..2afbd5b1 100644
--- a/utils/apparmor/ui.py
+++ b/utils/apparmor/ui.py
@@ -45,7 +45,7 @@ def write_json(jsonout):
def set_json_mode():
global UI_mode
UI_mode = 'json'
- jsonout = {'dialog': 'apparmor-json-version', 'data': '2.12'}
+ jsonout = {'dialog': 'apparmor-json-version', 'data': '2.13'}
write_json(jsonout)
# reads the response on command line for json and verifies the response
@@ -250,9 +250,16 @@ def generate_diff_with_comments(oldprofile, newprofile):
def UI_Changes(oldprofile, newprofile, comments=False):
if comments == False:
difftemp = generate_diff(oldprofile, newprofile)
+ header = 'View Changes'
else:
difftemp = generate_diff_with_comments(oldprofile, newprofile)
- subprocess.call('less %s' % difftemp.name, shell=True)
+ header = 'View Changes with comments'
+ if UI_mode == 'json':
+ jsonout = {'dialog': 'changes', 'header':header, 'filename': difftemp.name}
+ write_json(jsonout)
+ response = json_response('changes')["response"]
+ else:
+ subprocess.call('less %s' % difftemp.name, shell=True)
difftemp.close()
CMDS = {'CMD_ALLOW': _('(A)llow'),
--
2.14.2
More information about the AppArmor
mailing list