File 0002-Handle-write-only-parameters-like-attributes.patch of Package python-rtslib-fb

From ee005008acfec749d3a9731a82fd08c6774cff49 Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Sat, 9 Feb 2019 09:36:33 -0800
Subject: [PATCH 2/3] Handle write-only parameters like attributes
Patch-mainline: In developer's queue

Commit 03c8c15983a21bc2 added handling of write-only
attributes, but we could also see write-only parameters,
since they are also from sysfs. To be safe, ensure
the parameter list returned is writable in addition
to being readable.
---
 rtslib/node.py | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/rtslib/node.py b/rtslib/node.py
index 1ab7d9b8c58b..415f45d675f9 100644
--- a/rtslib/node.py
+++ b/rtslib/node.py
@@ -122,17 +122,21 @@ class CFSNode(object):
 
     # CFSNode public stuff
 
-    def list_parameters(self, writable=None):
+    def list_parameters(self, writable=None, readable=None):
         '''
-        @param writable: If None (default), returns all parameters, if True,
-        returns read-write parameters, if False, returns just the read-only
-        parameters.
+        @param writable: If None (default), return all parameters despite
+        their writability. If True, return only writable parameters. If
+        False, return only non-writable parameters.
         @type writable: bool or None
+        @param readable: If None (default), return all parameters despite
+        their readability. If True, return only readable parameters. If
+        False, return only non-readable parameters.
+        @type readable: bool or None
         @return: The list of existing RFC-3720 parameter names.
         '''
         self._check_self()
         path = "%s/param" % self.path
-        return self._list_files(path, writable)
+        return self._list_files(path, writable, readable)
 
     def list_attributes(self, writable=None, readable=None):
         '''
@@ -242,7 +246,7 @@ class CFSNode(object):
                 attrs[item] = self.get_attribute(item)
         if attrs:
             d['attributes'] = attrs
-        for item in self.list_parameters(writable=True):
+        for item in self.list_parameters(writable=True, readable=True):
             params[item] = self.get_parameter(item)
         if params:
             d['parameters'] = params
-- 
2.16.4

openSUSE Build Service is sponsored by