The patch replaces implicit tuple unpacking from except clauses with
explicit unpacking of the exception objects' args attribute.

Example:

>>> e = RuntimeError('num', 'messages')
>>> num, message = e
>>> num, message
('num', 'messages')
>>> e.args
('num', 'messages')
>>> num, message = e.args
>>> num, message
('num', 'messages')


Christian
From 6b57eb232641370f7d91febdc663bfcc62a795e7 Mon Sep 17 00:00:00 2001
From: Christian Heimes <chei...@redhat.com>
Date: Mon, 13 Jul 2015 14:02:29 +0200
Subject: [PATCH] Remove tuple unpacking from except clause

Python 3 doesn't support tuple unpacking in except clauses. All implicit
tuple unpackings have been replaced with explicit unpacking of e.args.

Signed-off-by: Christian Heimes <chei...@redhat.com>
---
 contrib/RHEL4/ipachangeconf.py        |  4 ++--
 ipa-client/ipaclient/ipachangeconf.py |  4 ++--
 ipalib/plugins/hbactest.py            |  7 ++++---
 ipaserver/dcerpc.py                   | 18 ++++++++++++------
 4 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/contrib/RHEL4/ipachangeconf.py b/contrib/RHEL4/ipachangeconf.py
index 1a361513558f20d65ac8cbb0044e7b8d352e6bad..87b306f5dff336f80b1d02909433253f148108a6 100644
--- a/contrib/RHEL4/ipachangeconf.py
+++ b/contrib/RHEL4/ipachangeconf.py
@@ -29,13 +29,13 @@ def openLocked(filename, perms):
         fd = os.open(filename, os.O_RDWR | os.O_CREAT, perms)
         
         fcntl.lockf(fd, fcntl.LOCK_EX)
-    except OSError, (errno, strerr):
+    except OSError as e:
         if fd != -1:
             try:
                 os.close(fd)
             except OSError:
                 pass
-        raise IOError(errno, strerr)
+        raise IOError(e.errno, e.strerror)
     return os.fdopen(fd, "r+")
 
 
diff --git a/ipa-client/ipaclient/ipachangeconf.py b/ipa-client/ipaclient/ipachangeconf.py
index 15d41274f7a99550b0a49314fb949402e65ee1d1..edf34f5ae738eb22b8935c222392dc9b6f08638d 100644
--- a/ipa-client/ipaclient/ipachangeconf.py
+++ b/ipa-client/ipaclient/ipachangeconf.py
@@ -31,13 +31,13 @@ def openLocked(filename, perms):
         fd = os.open(filename, os.O_RDWR | os.O_CREAT, perms)
 
         fcntl.lockf(fd, fcntl.LOCK_EX)
-    except OSError, (errno, strerr):
+    except OSError as e:
         if fd != -1:
             try:
                 os.close(fd)
             except OSError:
                 pass
-        raise IOError(errno, strerr)
+        raise IOError(e.errno, e.strerror)
     return os.fdopen(fd, "r+")
 
 
diff --git a/ipalib/plugins/hbactest.py b/ipalib/plugins/hbactest.py
index 068190310bf14d068620bc4a86d1c48ae1437251..c8dedd367e78cbe900b716369f8ef78575a21298 100644
--- a/ipalib/plugins/hbactest.py
+++ b/ipalib/plugins/hbactest.py
@@ -462,13 +462,14 @@ class hbactest(Command):
                         matched_rules.append(ipa_rule.name)
                     if res == pyhbac.HBAC_EVAL_DENY:
                         notmatched_rules.append(ipa_rule.name)
-                except pyhbac.HbacError as (code, rule_name):
+                except pyhbac.HbacError as e:
+                    code, rule_name = e.args
                     if code == pyhbac.HBAC_EVAL_ERROR:
                         error_rules.append(rule_name)
                         self.log.info('Native IPA HBAC rule "%s" parsing error: %s' % \
                                       (rule_name, pyhbac.hbac_result_string(code)))
-                except (TypeError, IOError) as (info):
-                    self.log.error('Native IPA HBAC module error: %s' % (info))
+                except (TypeError, IOError) as info:
+                    self.log.error('Native IPA HBAC module error: %s' % info)
 
             access_granted = len(matched_rules) > 0
         else:
diff --git a/ipaserver/dcerpc.py b/ipaserver/dcerpc.py
index a1da0a641064f59a79639d97489ff73181787a4a..4de5afb540e880e8948749c2cfa9a019eb807c47 100644
--- a/ipaserver/dcerpc.py
+++ b/ipaserver/dcerpc.py
@@ -772,7 +772,8 @@ class TrustDomainInstance(object):
        try:
            result = lsa.lsarpc(binding, self.parm, self.creds)
            return result
-       except RuntimeError, (num, message):
+       except RuntimeError as e:
+           num, message = e.args
            raise assess_dcerpc_exception(num=num, message=message)
 
     def init_lsa_pipe(self, remote_host):
@@ -889,7 +890,8 @@ class TrustDomainInstance(object):
         try:
             self._policy_handle = self._pipe.OpenPolicy2(u"", objectAttribute, security.SEC_FLAG_MAXIMUM_ALLOWED)
             result = self._pipe.QueryInfoPolicy2(self._policy_handle, lsa.LSA_POLICY_INFO_DNS)
-        except RuntimeError, (num, message):
+        except RuntimeError as e:
+            num, message = e.args
             raise assess_dcerpc_exception(num=num, message=message)
 
         self.info['name'] = unicode(result.name.string)
@@ -901,7 +903,8 @@ class TrustDomainInstance(object):
 
         try:
             result = self._pipe.QueryInfoPolicy2(self._policy_handle, lsa.LSA_POLICY_INFO_ROLE)
-        except RuntimeError, (num, message):
+        except RuntimeError as e:
+            num, message = e.args
             raise assess_dcerpc_exception(num=num, message=message)
 
         self.info['is_pdc'] = (result.role == lsa.LSA_ROLE_PRIMARY)
@@ -1030,14 +1033,16 @@ class TrustDomainInstance(object):
             dname.string = another_domain.info['dns_domain']
             res = self._pipe.QueryTrustedDomainInfoByName(self._policy_handle, dname, lsa.LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)
             self._pipe.DeleteTrustedDomain(self._policy_handle, res.info_ex.sid)
-        except RuntimeError, (num, message):
+        except RuntimeError as e:
+            num, message = e.args
             # Ignore anything but access denied (NT_STATUS_ACCESS_DENIED)
             if num == -1073741790:
                 raise access_denied_error
 
         try:
             trustdom_handle = self._pipe.CreateTrustedDomainEx2(self._policy_handle, info, self.auth_info, security.SEC_STD_DELETE)
-        except RuntimeError, (num, message):
+        except RuntimeError as e:
+            num, message = e.args
             raise assess_dcerpc_exception(num=num, message=message)
 
         # We should use proper trustdom handle in order to modify the
@@ -1078,7 +1083,8 @@ class TrustDomainInstance(object):
                                            data=data
                                            )
                 return result
-            except RuntimeError, (num, message):
+            except RuntimeError as e:
+                num, message = e.args
                 raise assess_dcerpc_exception(num=num, message=message)
 
         result = retrieve_netlogon_info_2(None, self,
-- 
2.4.3

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to