Skip to content

Commit

Permalink
qapi: Improve a couple of confusing variable names
Browse files Browse the repository at this point in the history
old name      new name
----------------------------
input_file    fname
input_relname fname
input_fname   abs_fname
include_path  incl_abs_fname
parent_info   incl_info

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
  • Loading branch information
Markus Armbruster committed Jun 18, 2015
1 parent 12c7079 commit 5441404
Showing 1 changed file with 23 additions and 22 deletions.
45 changes: 23 additions & 22 deletions scripts/qapi.py
Expand Up @@ -75,7 +75,7 @@ def error_path(parent):

class QAPISchemaError(Exception):
def __init__(self, schema, msg):
self.input_file = schema.input_file
self.fname = schema.fname
self.msg = msg
self.col = 1
self.line = schema.line
Expand All @@ -84,11 +84,11 @@ def __init__(self, schema, msg):
self.col = (self.col + 7) % 8 + 1
else:
self.col += 1
self.info = schema.parent_info
self.info = schema.incl_info

def __str__(self):
return error_path(self.info) + \
"%s:%d:%d: %s" % (self.input_file, self.line, self.col, self.msg)
"%s:%d:%d: %s" % (self.fname, self.line, self.col, self.msg)

class QAPIExprError(Exception):
def __init__(self, expr_info, msg):
Expand All @@ -101,18 +101,18 @@ def __str__(self):

class QAPISchema:

def __init__(self, fp, input_relname=None, include_hist=[],
previously_included=[], parent_info=None):
def __init__(self, fp, fname = None, include_hist = [],
previously_included = [], incl_info = None):
""" include_hist is a stack used to detect inclusion cycles
previously_included is a global state used to avoid multiple
inclusions of the same file"""
input_fname = os.path.abspath(fp.name)
if input_relname is None:
input_relname = fp.name
self.input_file = input_relname
self.include_hist = include_hist + [(input_relname, input_fname)]
previously_included.append(input_fname)
self.parent_info = parent_info
abs_fname = os.path.abspath(fp.name)
if fname is None:
fname = fp.name
self.fname = fname
self.include_hist = include_hist + [(fname, abs_fname)]
previously_included.append(abs_fname)
self.incl_info = incl_info
self.src = fp.read()
if self.src == '' or self.src[-1] != '\n':
self.src += '\n'
Expand All @@ -123,7 +123,8 @@ def __init__(self, fp, input_relname=None, include_hist=[],
self.accept()

while self.tok != None:
expr_info = {'file': input_relname, 'line': self.line, 'parent': self.parent_info}
expr_info = {'file': fname, 'line': self.line,
'parent': self.incl_info}
expr = self.get_expr(False)
if isinstance(expr, dict) and "include" in expr:
if len(expr) != 1:
Expand All @@ -133,17 +134,17 @@ def __init__(self, fp, input_relname=None, include_hist=[],
raise QAPIExprError(expr_info,
'Expected a file name (string), got: %s'
% include)
include_path = os.path.join(os.path.dirname(input_fname),
include)
incl_abs_fname = os.path.join(os.path.dirname(abs_fname),
include)
for elem in self.include_hist:
if include_path == elem[1]:
if incl_abs_fname == elem[1]:
raise QAPIExprError(expr_info, "Inclusion loop for %s"
% include)
# skip multiple include of the same file
if include_path in previously_included:
if incl_abs_fname in previously_included:
continue
try:
fobj = open(include_path, 'r')
fobj = open(incl_abs_fname, 'r')
except IOError, e:
raise QAPIExprError(expr_info,
'%s: %s' % (e.strerror, include))
Expand Down Expand Up @@ -651,13 +652,13 @@ def check_keys(expr_elem, meta, required, optional=[]):
% (key, meta, name))


def parse_schema(input_file):
def parse_schema(fname):
global all_names
exprs = []

# First pass: read entire file into memory
try:
schema = QAPISchema(open(input_file, "r"))
schema = QAPISchema(open(fname, "r"))
except (QAPISchemaError, QAPIExprError), e:
print >>sys.stderr, e
exit(1)
Expand Down Expand Up @@ -1018,9 +1019,9 @@ def parse_command_line(extra_options = "", extra_long_options = []):
if len(args) != 1:
print >>sys.stderr, "%s: need exactly one argument" % sys.argv[0]
sys.exit(1)
input_file = args[0]
fname = args[0]

return (input_file, output_dir, do_c, do_h, prefix, extra_opts)
return (fname, output_dir, do_c, do_h, prefix, extra_opts)

def open_output(output_dir, do_c, do_h, prefix, c_file, h_file,
c_comment, h_comment):
Expand Down

0 comments on commit 5441404

Please sign in to comment.