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/, and
    https://review.gluster.org/#/c/20332/

This patch fixes the remaining comma white space (ws_comma) as suggested
by the 2to3 utility. (Earlier attempts to fix all ws_comma in one
patch did not pass centos regression, hence multiple patches to identify
the change that causes the failure.)

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: If5aca67084a7b1c06966fed35fb35e8bb2f7d67c
updates: #411
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
Kaleb S. KEITHLEY 2018-06-22 06:19:53 -04:00 committed by Shyamsundar Ranganathan
parent 8a7e70a221
commit 69b8ade616
3 changed files with 25 additions and 25 deletions

View File

@ -111,8 +111,8 @@ def gen_xlator():
print(" .{0:20} = {1}_{2},".format(dops, fop_prefix, dops), file=xl)
print("};", file=xl)
xlator_methods = fragments["XLATOR_METHODS"].replace("@XL_NAME@",xl_name)
xlator_methods = xlator_methods.replace("@FOP_PREFIX@",fop_prefix)
xlator_methods = fragments["XLATOR_METHODS"].replace("@XL_NAME@", xl_name)
xlator_methods = xlator_methods.replace("@FOP_PREFIX@", fop_prefix)
print(xlator_methods, file=xl)
xl.close()
@ -155,7 +155,7 @@ def gen_makefiles():
m = open(src_dir_path+"/Makefile.am", 'w+')
txt = MAKEFILE_FMT.replace("@XL_NAME@", xl_name)
txt = txt.replace("@XL_NAME_NO_HYPHEN@", xl_name_no_hyphen)
txt = txt.replace("@XL_TYPE@",xlator_type)
txt = txt.replace("@XL_TYPE@", xlator_type)
print(txt, file=m)
m.close()
@ -170,7 +170,7 @@ def load_fragments ():
result = {}
basepath = os.path.abspath(os.path.dirname(__file__))
fragpath = basepath + "/new-xlator-tmpl.c"
for line in open(fragpath,"r").readlines():
for line in open(fragpath, "r").readlines():
m = pragma_re.search(line)
if m:
if cur_symbol:

View File

@ -62,17 +62,17 @@ default_@NAME@ (
def gen_defaults ():
for name in ops.iterkeys():
print(generate(FAILURE_CBK_TEMPLATE,name,cbk_subs))
print(generate(FAILURE_CBK_TEMPLATE, name, cbk_subs))
for name in ops.iterkeys():
print(generate(CBK_RESUME_TEMPLATE,name,cbk_subs))
print(generate(CBK_RESUME_TEMPLATE, name, cbk_subs))
for name in ops.iterkeys():
print(generate(CBK_TEMPLATE,name,cbk_subs))
print(generate(CBK_TEMPLATE, name, cbk_subs))
for name in ops.iterkeys():
print(generate(RESUME_TEMPLATE,name,fop_subs))
print(generate(RESUME_TEMPLATE, name, fop_subs))
for name in ops.iterkeys():
print(generate(FOP_TEMPLATE,name,fop_subs))
print(generate(FOP_TEMPLATE, name, fop_subs))
for l in open(sys.argv[1],'r').readlines():
for l in open(sys.argv[1], 'r').readlines():
if l.find('#pragma generate') != -1:
print("/* BEGIN GENERATED CODE - DO NOT MODIFY */")
gen_defaults()

View File

@ -213,9 +213,9 @@ ops['rename'] = (
('fop-arg', 'xdata', 'dict_t *', 'xdata'),
('cbk-arg', 'buf', 'struct iatt *'),
('cbk-arg', 'preoldparent', 'struct iatt *'),
('cbk-arg', 'postoldparent','struct iatt *'),
('cbk-arg', 'postoldparent', 'struct iatt *'),
('cbk-arg', 'prenewparent', 'struct iatt *'),
('cbk-arg', 'postnewparent','struct iatt *'),
('cbk-arg', 'postnewparent', 'struct iatt *'),
('cbk-arg', 'xdata', 'dict_t *'),
('journal', 'entry-op'),
)
@ -716,31 +716,31 @@ def get_error_arg (type_str):
def get_subs (names, types, cbktypes=None):
sdict = {}
sdict["@SHORT_ARGS@"] = string.join(names,", ")
sdict["@SHORT_ARGS@"] = string.join(names, ", ")
# Convert two separate tuples to one of (name, type) sub-tuples.
as_tuples = list(zip(types,names))
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 = list(map(string.join, as_tuples))
# Join all of those into one big string.
sdict["@LONG_ARGS@"] = string.join(as_strings,",\n\t")
sdict["@LONG_ARGS@"] = string.join(as_strings, ",\n\t")
# So much more readable than string.join(map(string.join,zip(...))))
sdict["@ERROR_ARGS@"] = string.join(list(map(get_error_arg,types)),", ")
sdict["@ERROR_ARGS@"] = string.join(list(map(get_error_arg, types)), ", ")
if cbktypes is not None:
sdict["@CBK_ERROR_ARGS@"] = string.join(list(map(
get_error_arg,cbktypes)),", ")
get_error_arg, cbktypes)), ", ")
return sdict
def generate (tmpl, name, subs):
text = tmpl.replace("@NAME@",name)
text = tmpl.replace("@NAME@", name)
if name == "writev":
# More spurious inconsistency.
text = text.replace("@UPNAME@","WRITE")
text = text.replace("@UPNAME@", "WRITE")
elif name == "readv":
text = text.replace("@UPNAME@","READ")
text = text.replace("@UPNAME@", "READ")
else:
text = text.replace("@UPNAME@",name.upper())
text = text.replace("@UPNAME@", name.upper())
for old, new in subs[name].iteritems():
text = text.replace(old,new)
text = text.replace(old, new)
# TBD: reindent/reformat the result for maximum readability.
return text
@ -753,12 +753,12 @@ for name, args in ops.iteritems():
arg_names = [ a[1] for a in args if a[0] == 'fop-arg']
arg_types = [ a[2] for a in args if a[0] == 'fop-arg']
cbk_types = [ a[2] for a in args if a[0] == 'cbk-arg']
fop_subs[name] = get_subs(arg_names,arg_types,cbk_types)
fop_subs[name] = get_subs(arg_names, arg_types, cbk_types)
# Same thing for callbacks.
arg_names = [ a[1] for a in args if a[0] == 'cbk-arg']
arg_types = [ a[2] for a in args if a[0] == 'cbk-arg']
cbk_subs[name] = get_subs(arg_names,arg_types)
cbk_subs[name] = get_subs(arg_names, arg_types)
# Callers can add other subs to these tables, or even create their
# own tables, using these same techniques, and then pass the result