summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2018-05-30 08:15:29 -0400
committerAmar Tumballi <amarts@redhat.com>2018-06-04 19:55:35 +0000
commit7cdcd9b022180ee279f6408f7daaa882a8266f3a (patch)
treedb92267be85f33d809d44d02b22ba63847999c7a
parent3894f4262d53d1c1c593a78b21d72ba1103c86cd (diff)
core/various: python3 compat, prepare for python2 -> python3
see https://review.gluster.org/#/c/19788/, https://review.gluster.org/#/c/19871/, and https://review.gluster.org/#/c/19952/ This patch adds version agnostic imports for urllib, cpickle, socketserver, _thread, queue, etc., suggested by Aravinda in https://review.gluster.org/#/c/19767/1 Note: Fedora packaging guidelines require explicit shebangs, so popular practices like #!/usr/bin/env python and #!/usr/bin/python are not allowed; they must be #!/usr/bin/python2 or #!/usr/bin/python3 Note: Selected small fixes from 2to3 utility. Specifically apply, basestring, funcattrs, idioms, numliterals, set_literal, types, urllib, and zip have already been applied. Note: these 2to3 fixes report no changes are necessary: exec, execfile, exitfunc, filter, getcwdu, intern, itertools, metaclass, methodattrs, ne, next, nonzero, operator, paren, raw_input, reduce, reload, renames, repr, standarderror, sys_exc, throw, tuple_params, xreadlines. Change-Id: I8d393064a1837874d8b4bc87c8ce05c679664642 updates: #411 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
-rw-r--r--events/src/glustereventsd.py5
-rw-r--r--events/src/utils.py5
-rw-r--r--geo-replication/syncdaemon/argsupgrade.py10
-rw-r--r--geo-replication/syncdaemon/gsyncd.py11
-rw-r--r--geo-replication/syncdaemon/gsyncdconfig.py16
-rw-r--r--geo-replication/syncdaemon/gsyncdstatus.py5
-rw-r--r--geo-replication/syncdaemon/logutils.py11
-rw-r--r--geo-replication/syncdaemon/repce.py15
-rw-r--r--geo-replication/syncdaemon/subcmds.py10
-rw-r--r--geo-replication/syncdaemon/syncdutils.py5
-rw-r--r--tools/glusterfind/src/brickfind.py5
-rw-r--r--tools/glusterfind/src/changelog.py5
-rw-r--r--tools/glusterfind/src/conf.py5
-rw-r--r--tools/glusterfind/src/nodeagent.py5
14 files changed, 101 insertions, 12 deletions
diff --git a/events/src/glustereventsd.py b/events/src/glustereventsd.py
index 32fb6c52aa9..014f5a0009d 100644
--- a/events/src/glustereventsd.py
+++ b/events/src/glustereventsd.py
@@ -13,7 +13,10 @@
from __future__ import print_function
import sys
import signal
-import SocketServer
+try:
+ import socketserver
+except ImportError:
+ import SocketServer as socketserver
import socket
from argparse import ArgumentParser, RawDescriptionHelpFormatter
diff --git a/events/src/utils.py b/events/src/utils.py
index 7d9b7b51d95..c1c0bccfe66 100644
--- a/events/src/utils.py
+++ b/events/src/utils.py
@@ -16,7 +16,10 @@ import fcntl
from errno import EBADF
from threading import Thread
import multiprocessing
-from Queue import Queue
+try:
+ from queue import Queue
+except ImportError:
+ from Queue import Queue
from datetime import datetime, timedelta
import base64
import hmac
diff --git a/geo-replication/syncdaemon/argsupgrade.py b/geo-replication/syncdaemon/argsupgrade.py
index a97c748c40b..632271daf81 100644
--- a/geo-replication/syncdaemon/argsupgrade.py
+++ b/geo-replication/syncdaemon/argsupgrade.py
@@ -1,3 +1,13 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com>
+# This file is part of GlusterFS.
+#
+# This file is licensed to you under your choice of the GNU Lesser
+# General Public License, version 3 or any later version (LGPLv3 or
+# later), or the GNU General Public License, version 2 (GPLv2), in all
+# cases as published by the Free Software Foundation.
+#
# Converts old style args into new style args
from __future__ import print_function
diff --git a/geo-replication/syncdaemon/gsyncd.py b/geo-replication/syncdaemon/gsyncd.py
index 1ab65877467..77fca4c9d1f 100644
--- a/geo-replication/syncdaemon/gsyncd.py
+++ b/geo-replication/syncdaemon/gsyncd.py
@@ -1,4 +1,15 @@
#!/usr/bin/python2
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com>
+# This file is part of GlusterFS.
+#
+# This file is licensed to you under your choice of the GNU Lesser
+# General Public License, version 3 or any later version (LGPLv3 or
+# later), or the GNU General Public License, version 2 (GPLv2), in all
+# cases as published by the Free Software Foundation.
+#
+
from argparse import ArgumentParser
import time
import os
diff --git a/geo-replication/syncdaemon/gsyncdconfig.py b/geo-replication/syncdaemon/gsyncdconfig.py
index 9fb2b9e5323..8403477dac3 100644
--- a/geo-replication/syncdaemon/gsyncdconfig.py
+++ b/geo-replication/syncdaemon/gsyncdconfig.py
@@ -1,4 +1,18 @@
-from ConfigParser import ConfigParser, NoSectionError
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com>
+# This file is part of GlusterFS.
+#
+# This file is licensed to you under your choice of the GNU Lesser
+# General Public License, version 3 or any later version (LGPLv3 or
+# later), or the GNU General Public License, version 2 (GPLv2), in all
+# cases as published by the Free Software Foundation.
+#
+
+try:
+ from configparser import ConfigParser, NoSectionError
+except ImportError:
+ from ConfigParser import ConfigParser, NoSectionError
import os
from string import Template
from datetime import datetime
diff --git a/geo-replication/syncdaemon/gsyncdstatus.py b/geo-replication/syncdaemon/gsyncdstatus.py
index e75f9dcd62c..e8a810f4b38 100644
--- a/geo-replication/syncdaemon/gsyncdstatus.py
+++ b/geo-replication/syncdaemon/gsyncdstatus.py
@@ -13,7 +13,10 @@ from __future__ import print_function
import fcntl
import os
import tempfile
-import urllib
+try:
+ import urllib.parse as urllib
+except ImportError:
+ import urllib
import json
import time
from datetime import datetime
diff --git a/geo-replication/syncdaemon/logutils.py b/geo-replication/syncdaemon/logutils.py
index f00685cd92c..01ae7852f23 100644
--- a/geo-replication/syncdaemon/logutils.py
+++ b/geo-replication/syncdaemon/logutils.py
@@ -1,3 +1,14 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com>
+# This file is part of GlusterFS.
+#
+# This file is licensed to you under your choice of the GNU Lesser
+# General Public License, version 3 or any later version (LGPLv3 or
+# later), or the GNU General Public License, version 2 (GPLv2), in all
+# cases as published by the Free Software Foundation.
+#
+
import logging
from logging import Logger, handlers
import sys
diff --git a/geo-replication/syncdaemon/repce.py b/geo-replication/syncdaemon/repce.py
index 1fb90c44032..f819a89bfee 100644
--- a/geo-replication/syncdaemon/repce.py
+++ b/geo-replication/syncdaemon/repce.py
@@ -13,9 +13,18 @@ import sys
import time
import logging
from threading import Condition
-import thread
-from Queue import Queue
-import cPickle as pickle
+try:
+ import _thread
+except ImportError:
+ import thread as _thread
+try:
+ from queue import Queue
+except ImportError:
+ from Queue import Queue
+try:
+ import cPickle as pickle
+except ImportError:
+ import pickle
from syncdutils import Thread, select, lf
diff --git a/geo-replication/syncdaemon/subcmds.py b/geo-replication/syncdaemon/subcmds.py
index b9e02855392..11d263d7e03 100644
--- a/geo-replication/syncdaemon/subcmds.py
+++ b/geo-replication/syncdaemon/subcmds.py
@@ -1,3 +1,13 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com>
+# This file is part of GlusterFS.
+#
+# This file is licensed to you under your choice of the GNU Lesser
+# General Public License, version 3 or any later version (LGPLv3 or
+# later), or the GNU General Public License, version 2 (GPLv2), in all
+# cases as published by the Free Software Foundation.
+#
from __future__ import print_function
from syncdutils import lf
diff --git a/geo-replication/syncdaemon/syncdutils.py b/geo-replication/syncdaemon/syncdutils.py
index 1e40ff56858..ab6753ee96c 100644
--- a/geo-replication/syncdaemon/syncdutils.py
+++ b/geo-replication/syncdaemon/syncdutils.py
@@ -28,7 +28,10 @@ import select as oselect
from os import waitpid as owaitpid
import xml.etree.ElementTree as XET
from select import error as SelectError
-from cPickle import PickleError
+try:
+ from cPickle import PickleError
+except ImportError:
+ from pickle import PickleError
from conf import GLUSTERFS_LIBEXECDIR, UUID_FILE
sys.path.insert(1, GLUSTERFS_LIBEXECDIR)
diff --git a/tools/glusterfind/src/brickfind.py b/tools/glusterfind/src/brickfind.py
index e24fb1f0bdf..6bfb997f5a0 100644
--- a/tools/glusterfind/src/brickfind.py
+++ b/tools/glusterfind/src/brickfind.py
@@ -13,7 +13,10 @@ import os
import sys
import logging
from argparse import ArgumentParser, RawDescriptionHelpFormatter
-import urllib.request, urllib.parse, urllib.error
+try:
+ import urllib.parse as urllib
+except ImportError:
+ import urllib
import time
from utils import mkdirp, setup_logger, create_file, output_write, find
diff --git a/tools/glusterfind/src/changelog.py b/tools/glusterfind/src/changelog.py
index 608b5c7c2de..5897f790d4b 100644
--- a/tools/glusterfind/src/changelog.py
+++ b/tools/glusterfind/src/changelog.py
@@ -16,7 +16,10 @@ import xattr
import logging
from argparse import ArgumentParser, RawDescriptionHelpFormatter
import hashlib
-import urllib.request, urllib.parse, urllib.error
+try:
+ import urllib.parse as urllib
+except ImportError:
+ import urllib
import codecs
import libgfchangelog
diff --git a/tools/glusterfind/src/conf.py b/tools/glusterfind/src/conf.py
index d91746bda13..fdab38badb1 100644
--- a/tools/glusterfind/src/conf.py
+++ b/tools/glusterfind/src/conf.py
@@ -9,7 +9,10 @@
# cases as published by the Free Software Foundation.
import os
-import ConfigParser
+try:
+ import configparser
+except ImportError:
+ import ConfigParser as configparser
config = ConfigParser.ConfigParser()
config.read(os.path.join(os.path.dirname(os.path.abspath(__file__)),
diff --git a/tools/glusterfind/src/nodeagent.py b/tools/glusterfind/src/nodeagent.py
index c337964c7db..4aed0e2ad96 100644
--- a/tools/glusterfind/src/nodeagent.py
+++ b/tools/glusterfind/src/nodeagent.py
@@ -14,7 +14,10 @@ import sys
import os
import logging
from argparse import ArgumentParser, RawDescriptionHelpFormatter
-import urllib.request, urllib.parse, urllib.error
+try:
+ import urllib.parse as urllib
+except ImportError:
+ import urllib
from errno import ENOTEMPTY
from utils import setup_logger, mkdirp, handle_rm_error