Message ID | 1447415529-7588-1-git-send-email-plautrba@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Petr Lautrbach wrote: > In Py3.0, the cmp parameter in sort() function was removed and key keyword is > available since Py2.4. > > Fixes: # cat avc.log | audit2allow -R > Traceback (most recent call last): > File "/usr/bin/audit2allow", line 363, in<module> > app.main() > File "/usr/bin/audit2allow", line 351, in main > self.__output() > File "/usr/bin/audit2allow", line 308, in __output > g.set_gen_refpol(ifs, perm_maps) > File "/usr/lib64/python3.4/site-packages/sepolgen/policygen.py", line 101, in set_gen_refpol > self.ifgen = InterfaceGenerator(if_set, perm_maps) > File "/usr/lib64/python3.4/site-packages/sepolgen/policygen.py", line 353, in __init__ > self.hack_check_ifs(ifs) > File "/usr/lib64/python3.4/site-packages/sepolgen/policygen.py", line 365, in hack_check_ifs > params.sort(param_comp) > TypeError: must use keyword argument for key function > > Signed-off-by: Petr Lautrbach<plautrba@redhat.com> Thanks, Applied. > --- > sepolgen/src/sepolgen/policygen.py | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/sepolgen/src/sepolgen/policygen.py b/sepolgen/src/sepolgen/policygen.py > index 4438a11..34c8401 100644 > --- a/sepolgen/src/sepolgen/policygen.py > +++ b/sepolgen/src/sepolgen/policygen.py > @@ -36,8 +36,6 @@ from . import access > from . import interfaces > from . import matching > from . import util > -if util.PY3: > - from .util import cmp > # Constants for the level of explanation from the generation > # routines > NO_EXPLANATION = 0 > @@ -278,15 +276,12 @@ def explain_access(av, ml=None, verbosity=SHORT_EXPLANATION): > explain_interfaces() > return s > > -def param_comp(a, b): > - return cmp(b.num, a.num) > - > def call_interface(interface, av): > params = [] > args = [] > > params.extend(interface.params.values()) > - params.sort(param_comp) > + params.sort(key=lambda param: param.num, reverse=True) > > ifcall = refpolicy.InterfaceCall() > ifcall.ifname = interface.name > @@ -321,7 +316,7 @@ class InterfaceGenerator: > for x in ifs.interfaces.values(): > params = [] > params.extend(x.params.values()) > - params.sort(param_comp) > + params.sort(key=lambda param: param.num, reverse=True) > for i in range(len(params)): > # Check that the paramater position matches > # the number (e.g., $1 is the first arg). This
diff --git a/sepolgen/src/sepolgen/policygen.py b/sepolgen/src/sepolgen/policygen.py index 4438a11..34c8401 100644 --- a/sepolgen/src/sepolgen/policygen.py +++ b/sepolgen/src/sepolgen/policygen.py @@ -36,8 +36,6 @@ from . import access from . import interfaces from . import matching from . import util -if util.PY3: - from .util import cmp # Constants for the level of explanation from the generation # routines NO_EXPLANATION = 0 @@ -278,15 +276,12 @@ def explain_access(av, ml=None, verbosity=SHORT_EXPLANATION): explain_interfaces() return s -def param_comp(a, b): - return cmp(b.num, a.num) - def call_interface(interface, av): params = [] args = [] params.extend(interface.params.values()) - params.sort(param_comp) + params.sort(key=lambda param: param.num, reverse=True) ifcall = refpolicy.InterfaceCall() ifcall.ifname = interface.name @@ -321,7 +316,7 @@ class InterfaceGenerator: for x in ifs.interfaces.values(): params = [] params.extend(x.params.values()) - params.sort(param_comp) + params.sort(key=lambda param: param.num, reverse=True) for i in range(len(params)): # Check that the paramater position matches # the number (e.g., $1 is the first arg). This
In Py3.0, the cmp parameter in sort() function was removed and key keyword is available since Py2.4. Fixes: # cat avc.log | audit2allow -R Traceback (most recent call last): File "/usr/bin/audit2allow", line 363, in <module> app.main() File "/usr/bin/audit2allow", line 351, in main self.__output() File "/usr/bin/audit2allow", line 308, in __output g.set_gen_refpol(ifs, perm_maps) File "/usr/lib64/python3.4/site-packages/sepolgen/policygen.py", line 101, in set_gen_refpol self.ifgen = InterfaceGenerator(if_set, perm_maps) File "/usr/lib64/python3.4/site-packages/sepolgen/policygen.py", line 353, in __init__ self.hack_check_ifs(ifs) File "/usr/lib64/python3.4/site-packages/sepolgen/policygen.py", line 365, in hack_check_ifs params.sort(param_comp) TypeError: must use keyword argument for key function Signed-off-by: Petr Lautrbach <plautrba@redhat.com> --- sepolgen/src/sepolgen/policygen.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)