summaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2018-07-09 10:01:06 -0400
committerAmar Tumballi <amarts@redhat.com>2018-07-12 04:38:57 +0000
commit970ea7a91946be6a8c941b0ebafd34fdb7ca4f44 (patch)
tree6ee4e075ac53be0903974e9afadb40ded11054f6 /extras
parentb32ad78516a4edf59a4e9c3ef266e3d69f616b83 (diff)
core/various: python3 compat, prepare for python2 -> python3
see https://review.gluster.org/#/c/19788/, https://review.gluster.org/#/c/19871/, https://review.gluster.org/#/c/19952/, https://review.gluster.org/#/c/20104/, https://review.gluster.org/#/c/20162/, https://review.gluster.org/#/c/20185/, https://review.gluster.org/#/c/20207/, https://review.gluster.org/#/c/20227/, https://review.gluster.org/#/c/20307/, https://review.gluster.org/#/c/20320/, https://review.gluster.org/#/c/20332/, https://review.gluster.org/#/c/20364/, and https://review.gluster.org/#/c/20441/ Fixes some overlooked string.join()s: + AFAICT extras/profiler/glusterfs-profiler, extras/prot_filter.py, extras/rebalance.py, and extras/volfilter.py would only manifest at runtime. + xlators/experimental/fdl/src/gen_recon.py is a build-time error when using python3 during the build, thus was not noticed previously when building with python2. + extras/create_new_xlator/generate_xlator.py seems to be example code and does not affect the build or runtime AFAICT Note: Fedora packaging guidelines and SUSE rpmlint require explicit shebangs; 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, has_key, idioms, map, numliterals, raise, set_literal, types, urllib, and zip have already been applied. Also version agnostic imports for urllib, cpickle, socketserver, _thread, queue, etc., suggested by Aravinda in https://review.gluster.org/#/c/19767/1 Note: these 2to3 fixes report no changes are necessary: asserts, buffer, exec, execfile, exitfunc, filter, getcwdu, imports2, input, intern, itertools, metaclass, methodattrs, ne, next, nonzero, operator, paren, raw_input, reduce, reload, renames, repr, standarderror, sys_exc, throw, tuple_params, xreadlines. Change-Id: Ia1fe2958d136f4303e30f7e7e86b6fe7d7b52c81 updates: #411 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'extras')
-rwxr-xr-xextras/create_new_xlator/generate_xlator.py14
-rwxr-xr-xextras/profiler/glusterfs-profiler2
-rwxr-xr-xextras/prot_filter.py5
-rwxr-xr-xextras/rebalance.py8
-rw-r--r--extras/volfilter.py4
5 files changed, 16 insertions, 17 deletions
diff --git a/extras/create_new_xlator/generate_xlator.py b/extras/create_new_xlator/generate_xlator.py
index 67e2e9c6e17..2746e90893d 100755
--- a/extras/create_new_xlator/generate_xlator.py
+++ b/extras/create_new_xlator/generate_xlator.py
@@ -38,9 +38,9 @@ def get_param(names, types):
# Convert two separate tuples to one of (name, type) sub-tuples.
as_tuples = list(zip(types, names))
# Convert each sub-tuple into a "type name" string.
- as_strings = list(map(string.join, as_tuples))
+ as_strings = [' '.join(item) for item in as_tuples]
# Join all of those into one big string.
- return string.join(as_strings, ",\n\t")
+ return ',\n\t'.join(as_strings)
def generate(tmpl, name, table):
@@ -56,16 +56,16 @@ def generate(tmpl, name, table):
sdict = {}
#Parameters are (t1, var1), (t2, var2)...
#Args are (var1, var2,...)
- sdict["@WIND_ARGS@"] = string.join(w_arg_names, ", ")
- sdict["@UNWIND_ARGS@"] = string.join(u_arg_names, ", ")
- sdict["@ERROR_ARGS@"] = string.join(list(map(get_error_arg, u_arg_types)), ", ")
+ sdict["@WIND_ARGS@"] = ', '.join(w_arg_names)
+ sdict["@UNWIND_ARGS@"] = ', '.join(u_arg_names)
+ sdict["@ERROR_ARGS@"] = ', '.join(list(map(get_error_arg, u_arg_types)))
sdict["@WIND_PARAMS@"] = get_param(w_arg_names, w_arg_types)
sdict["@UNWIND_PARAMS@"] = get_param(u_arg_names, u_arg_types)
sdict["@FUNC_PARAMS@"] = get_param(fn_arg_names, fn_arg_types)
sdict["@NAME@"] = name
sdict["@FOP_PREFIX@"] = fop_prefix
- sdict["@RET_TYPE@"] = string.join(ret_type, "")
- sdict["@RET_VAR@"] = string.join(ret_var, "")
+ sdict["@RET_TYPE@"] = ''.join(ret_type)
+ sdict["@RET_VAR@"] = ''.join(ret_var)
for old, new in sdict.items():
tmpl = tmpl.replace(old, new)
diff --git a/extras/profiler/glusterfs-profiler b/extras/profiler/glusterfs-profiler
index 9c76d5b379c..5f5e4ed8dbd 100755
--- a/extras/profiler/glusterfs-profiler
+++ b/extras/profiler/glusterfs-profiler
@@ -291,7 +291,7 @@ class Texttable:
s = "%s%s%s" % (horiz, [horiz, self._char_corner][self._has_vlines()],
horiz)
# build the line
- l = string.join([horiz*n for n in self._width], s)
+ l = s.join([horiz*n for n in self._width])
# add border if needed
if self._has_border():
l = "%s%s%s%s%s\n" % (self._char_corner, horiz, l, horiz,
diff --git a/extras/prot_filter.py b/extras/prot_filter.py
index 3baa27c3f6d..1dcc639d0a0 100755
--- a/extras/prot_filter.py
+++ b/extras/prot_filter.py
@@ -67,7 +67,7 @@ def load (path):
xlator.xl_type = text[1]
continue
if text[0] == "option":
- xlator.opts[text[1]] = string.join(text[2:])
+ xlator.opts[text[1]] = ''.join(text[2:])
continue
if text[0] == "subvolumes":
for sv in text[1:]:
@@ -94,8 +94,7 @@ def generate (graph, last, stream=sys.stdout):
for k, v in last.opts.items():
print(" option %s %s" % (k, v), file=stream)
if last.subvols:
- print(" subvolumes %s" % string.join(
- [ sv.name for sv in last.subvols ]), file=stream)
+ print(" subvolumes %s" % ''.join([ sv.name for sv in last.subvols ]), file=stream)
print("end-volume", file=stream)
def push_filter (graph, old_xl, filt_type, opts={}):
diff --git a/extras/rebalance.py b/extras/rebalance.py
index 0023f9970a8..6dd364b9028 100755
--- a/extras/rebalance.py
+++ b/extras/rebalance.py
@@ -47,12 +47,12 @@ def generate_stanza (vf, all_xlators, cur_subvol):
for sv in cur_subvol.subvols:
generate_stanza(vf, all_xlators, sv)
sv_list.append(sv.name)
- vf.write("volume %s\n"%cur_subvol.name)
- vf.write(" type %s\n"%cur_subvol.type)
+ vf.write("volume %s\n" % cur_subvol.name)
+ vf.write(" type %s\n" % cur_subvol.type)
for kvpair in cur_subvol.opts.items():
- vf.write(" option %s %s\n"%kvpair)
+ vf.write(" option %s %s\n" % kvpair)
if sv_list:
- vf.write(" subvolumes %s\n"%string.join(sv_list))
+ vf.write(" subvolumes %s\n" % ''.join(sv_list))
vf.write("end-volume\n\n")
diff --git a/extras/volfilter.py b/extras/volfilter.py
index ea4bf22a440..5558a1beff4 100644
--- a/extras/volfilter.py
+++ b/extras/volfilter.py
@@ -108,7 +108,7 @@ def load (path):
xlator.type = text[1]
continue
if text[0] == "option":
- xlator.opts[text[1]] = string.join(text[2:])
+ xlator.opts[text[1]] = ''.join(text[2:])
continue
if text[0] == "subvolumes":
for sv in text[1:]:
@@ -135,7 +135,7 @@ def generate (graph, last, stream=sys.stdout):
for k, v in last.opts.items():
print(" option %s %s" % (k, v), file=stream)
if last.subvols:
- print(" subvolumes %s" % string.join(
+ print(" subvolumes %s" % ''.join(
[ sv.name for sv in last.subvols ]), file=stream)
print("end-volume", file=stream)