On Wed, 9 Jun 2021 17:25:45 -0400
Rosemarie O'Riorden <[email protected]> wrote:
> Fixes: 1ca0323e7c29 ("Require Python 3 and remove support for Python 2.")
> Reported at: https://bugzilla.redhat.com/show_bug.cgi?id=1949875
> Signed-off-by: Rosemarie O'Riorden <[email protected]>
> ---
> Fix import errors in v1.
> Remove lines that indicate compatibility with python 2.
>
> ofproto/ipfix-gen-entities | 2 --
> ovsdb/ovsdb-idlc.in | 1 -
> .../ovs/compat/sortedcontainers/sortedlist.py | 2 --
> python/ovstest/tests.py | 2 --
> python/ovstest/util.py | 2 +-
> python/setup.py | 4 ---
> tests/test-jsonrpc.py | 2 --
> utilities/checkpatch.py | 1 -
> utilities/gdb/ovs_gdb.py | 1 -
> utilities/ovs-l3ping.in | 14 +++++-----
> utilities/ovs-parse-backtrace.in | 12 ++++----
> utilities/ovs-pcap.in | 4 +--
> utilities/ovs-vlan-test.in | 28 +++++++++----------
> 13 files changed, 29 insertions(+), 46 deletions(-)
Hi,
thank you for your work.
It looks almost good and it passes "make flake8-check". I only added a
small suggestion (see inline), but LTGM.
> diff --git a/ofproto/ipfix-gen-entities b/ofproto/ipfix-gen-entities
> index d5abe9c2e..dcecdab21 100755
> --- a/ofproto/ipfix-gen-entities
> +++ b/ofproto/ipfix-gen-entities
> @@ -7,8 +7,6 @@
> # notice and this notice are preserved. This file is offered as-is,
> # without warranty of any kind.
>
> -from __future__ import print_function
> -
> import getopt
> import re
> import sys
> diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
> index 5914e0878..61cded16d 100755
> --- a/ovsdb/ovsdb-idlc.in
> +++ b/ovsdb/ovsdb-idlc.in
> @@ -1,6 +1,5 @@
> #! @PYTHON3@
>
> -from __future__ import print_function
> import getopt
> import os
> import re
> diff --git a/python/ovs/compat/sortedcontainers/sortedlist.py
> b/python/ovs/compat/sortedcontainers/sortedlist.py
> index 8aec6bbac..ba5556692 100644
> --- a/python/ovs/compat/sortedcontainers/sortedlist.py
> +++ b/python/ovs/compat/sortedcontainers/sortedlist.py
> @@ -3,8 +3,6 @@
> """
> # pylint: disable=redefined-builtin, ungrouped-imports
>
> -from __future__ import print_function
> -
> from bisect import bisect_left, bisect_right, insort
> from collections import Sequence, MutableSequence
> from functools import wraps
> diff --git a/python/ovstest/tests.py b/python/ovstest/tests.py
> index 6de3cc3af..f959f945e 100644
> --- a/python/ovstest/tests.py
> +++ b/python/ovstest/tests.py
> @@ -10,8 +10,6 @@
> # See the License for the specific language governing permissions and
> # limitations under the License.
>
> -from __future__ import print_function
> -
> import math
> import time
>
> diff --git a/python/ovstest/util.py b/python/ovstest/util.py
> index 72457158f..4caf6c352 100644
> --- a/python/ovstest/util.py
> +++ b/python/ovstest/util.py
> @@ -26,7 +26,7 @@ import socket
> import struct
> import subprocess
>
> -import exceptions
> +import builtins as exceptions
Nit: to avoid possibile misunderstanding since calling builtins
"exceptions" is semantically wrong. Since exceptions is only used for a
single except I guest we could just change the line that uses exceptions
to do directly "except OSError:"
> import xmlrpc.client
>
> diff --git a/python/setup.py b/python/setup.py
> index d385d8372..cfe01763f 100644
> --- a/python/setup.py
> +++ b/python/setup.py
> @@ -10,8 +10,6 @@
> # See the License for the specific language governing permissions and
> # limitations under the License.
>
> -from __future__ import print_function
> -
> import sys
>
> from distutils.command.build_ext import build_ext
> @@ -82,8 +80,6 @@ setup_args = dict(
> 'Topic :: Software Development :: Libraries :: Python Modules',
> 'Topic :: System :: Networking',
> 'License :: OSI Approved :: Apache Software License',
> - 'Programming Language :: Python :: 2',
> - 'Programming Language :: Python :: 2.7',
> 'Programming Language :: Python :: 3',
> 'Programming Language :: Python :: 3.4',
> 'Programming Language :: Python :: 3.5',
> diff --git a/tests/test-jsonrpc.py b/tests/test-jsonrpc.py
> index 3eabcd78d..1df5afa22 100644
> --- a/tests/test-jsonrpc.py
> +++ b/tests/test-jsonrpc.py
> @@ -12,8 +12,6 @@
> # See the License for the specific language governing permissions and
> # limitations under the License.
>
> -from __future__ import print_function
> -
> import argparse
> import errno
> import os
> diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
> index bc6bfae15..ac14da29b 100755
> --- a/utilities/checkpatch.py
> +++ b/utilities/checkpatch.py
> @@ -13,7 +13,6 @@
> # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> # See the License for the specific language governing permissions and
> # limitations under the License.
> -from __future__ import print_function
>
> import email
> import getopt
> diff --git a/utilities/gdb/ovs_gdb.py b/utilities/gdb/ovs_gdb.py
> index 1111f3100..0b2ecb81b 100644
> --- a/utilities/gdb/ovs_gdb.py
> +++ b/utilities/gdb/ovs_gdb.py
> @@ -55,7 +55,6 @@
> # ...
> # ...
> #
> -from __future__ import print_function
> import gdb
> import sys
> import uuid
> diff --git a/utilities/ovs-l3ping.in b/utilities/ovs-l3ping.in
> index 92d32acb3..1ece06457 100644
> --- a/utilities/ovs-l3ping.in
> +++ b/utilities/ovs-l3ping.in
> @@ -19,7 +19,7 @@ achieved by tunneling the control connection inside the
> tunnel itself.
> """
>
> import socket
> -import xmlrpclib
> +import xmlrpc.client
>
> import ovstest.args as args
> import ovstest.tests as tests
> @@ -64,13 +64,13 @@ if __name__ == '__main__':
> ps = get_packet_sizes(me, he, args.client[0])
> tests.do_direct_tests(me, he, bandwidth, interval, ps)
> except KeyboardInterrupt:
> - print "Terminating"
> - except xmlrpclib.Fault:
> - print "Couldn't contact peer"
> + print("Terminating")
> + except xmlrpc.client.Fault:
> + print("Couldn't contact peer")
> except socket.error:
> - print "Couldn't contact peer"
> - except xmlrpclib.ProtocolError:
> - print "XMLRPC control channel was abruptly terminated"
> + print("Couldn't contact peer")
> + except xmlrpc.client.ProtocolError:
> + print("XMLRPC control channel was abruptly terminated")
> finally:
> if local_server is not None:
> local_server.terminate()
> diff --git a/utilities/ovs-parse-backtrace.in
> b/utilities/ovs-parse-backtrace.in
> index d5506769a..f44f05cd1 100755
> --- a/utilities/ovs-parse-backtrace.in
> +++ b/utilities/ovs-parse-backtrace.in
> @@ -70,7 +70,7 @@ result. Expected usage is for ovs-appctl backtrace to be
> piped in.""")
> if os.path.exists(debug):
> binary = debug
>
> - print "Binary: %s\n" % binary
> + print("Binary: %s\n" % binary)
>
> stdin = sys.stdin.read()
>
> @@ -88,15 +88,15 @@ result. Expected usage is for ovs-appctl backtrace to be
> piped in.""")
> for lines, count in traces:
> longest = max(len(l) for l in lines)
>
> - print "Backtrace Count: %d" % count
> + print("Backtrace Count: %d" % count)
> for line in lines:
> match = re.search(r'\[(0x.*)]', line)
> if match:
> - print "%s %s" % (line.ljust(longest),
> - addr2line(binary, match.group(1)))
> + print("%s %s" % (line.ljust(longest),
> + addr2line(binary, match.group(1))))
> else:
> - print line
> - print
> + print(line)
> + print()
>
>
> if __name__ == "__main__":
> diff --git a/utilities/ovs-pcap.in b/utilities/ovs-pcap.in
> index dddbee4df..6b5f63399 100755
> --- a/utilities/ovs-pcap.in
> +++ b/utilities/ovs-pcap.in
> @@ -14,8 +14,6 @@
> # See the License for the specific language governing permissions and
> # limitations under the License.
>
> -from __future__ import print_function
> -
> import binascii
> import getopt
> import struct
> @@ -79,7 +77,7 @@ if __name__ == "__main__":
> try:
> options, args = getopt.gnu_getopt(sys.argv[1:], 'hV',
> ['help', 'version'])
> - except getopt.GetoptException as geo:
> + except getopt.GetoptError as geo:
> sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
> sys.exit(1)
>
> diff --git a/utilities/ovs-vlan-test.in b/utilities/ovs-vlan-test.in
> index 154573a9b..de3ae1686 100755
> --- a/utilities/ovs-vlan-test.in
> +++ b/utilities/ovs-vlan-test.in
> @@ -14,9 +14,9 @@
> # See the License for the specific language governing permissions and
> # limitations under the License.
>
> -import BaseHTTPServer
> import getopt
> -import httplib
> +import http.client
> +import http.server
> import os
> import threading
> import time
> @@ -84,7 +84,7 @@ class UDPReceiver:
>
> try:
> sock.bind((self.vlan_ip, self.vlan_port))
> - except socket.error, e:
> + except socket.error as e:
> print_safe('Failed to bind to %s:%d with error: %s'
> % (self.vlan_ip, self.vlan_port, e))
> os._exit(1) #sys.exit only exits the current thread.
> @@ -95,7 +95,7 @@ class UDPReceiver:
> data, _ = sock.recvfrom(4096)
> except socket.timeout:
> continue
> - except socket.error, e:
> + except socket.error as e:
> print_safe('Failed to receive from %s:%d with error: %s'
> % (self.vlan_ip, self.vlan_port, e))
> os._exit(1)
> @@ -180,7 +180,7 @@ class VlanServer:
> for _ in range(send_time * 2):
> try:
> send_packet(test_id, size, ip, port)
> - except socket.error, e:
> + except socket.error as e:
> self.set_result(test_id, 'Failure: ' + str(e))
> return
> time.sleep(.5)
> @@ -194,15 +194,15 @@ class VlanServer:
> def run(self):
> self.udp_recv.start()
> try:
> - BaseHTTPServer.HTTPServer((self.server_ip, self.server_port),
> + http.server.HTTPServer((self.server_ip, self.server_port),
> VlanServerHandler).serve_forever()
> - except socket.error, e:
> + except socket.error as e:
> print_safe('Failed to start control server: %s' % e)
> self.udp_recv.stop()
>
> return 1
>
> -class VlanServerHandler(BaseHTTPServer.BaseHTTPRequestHandler):
> +class VlanServerHandler(http.server.BaseHTTPRequestHandler):
> def do_GET(self):
>
> #Guarantee three arguments.
> @@ -244,7 +244,7 @@ class VlanClient:
> self.udp_recv = UDPReceiver(vlan_ip, vlan_port)
>
> def request(self, resource):
> - conn = httplib.HTTPConnection(self.server_ip_port)
> + conn = http.client.HTTPConnection(self.server_ip_port)
> conn.request('GET', resource)
> return conn
>
> @@ -256,7 +256,7 @@ class VlanClient:
> try:
> conn = self.request('/start/recv')
> data = conn.getresponse().read()
> - except (socket.error, httplib.HTTPException), e:
> + except (socket.error, http.client.HTTPException) as e:
> error_msg(e)
> return False
>
> @@ -277,7 +277,7 @@ class VlanClient:
> send_packet(test_id, size, ip, port)
> resp = self.request('/result/%d' % test_id).getresponse()
> data = resp.read()
> - except (socket.error, httplib.HTTPException), e:
> + except (socket.error, http.client.HTTPException) as e:
> error_msg(e)
> return False
>
> @@ -302,7 +302,7 @@ class VlanClient:
> try:
> conn = self.request(resource)
> test_id = conn.getresponse().read()
> - except (socket.error, httplib.HTTPException), e:
> + except (socket.error, http.client.HTTPException) as e:
> error_msg(e)
> return False
>
> @@ -335,7 +335,7 @@ class VlanClient:
> try:
> resp = self.request('/ping').getresponse()
> data = resp.read()
> - except (socket.error, httplib.HTTPException), e:
> + except (socket.error, http.client.HTTPException) as e:
> error_msg(e)
> return False
>
> @@ -383,7 +383,7 @@ def main():
> try:
> options, args = getopt.gnu_getopt(sys.argv[1:], 'hVs',
> ['help', 'version', 'server'])
> - except getopt.GetoptError, geo:
> + except getopt.GetoptError as geo:
> print_safe('%s: %s\n' % (sys.argv[0], geo.msg))
> return 1
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev