qapi/common.py: delint with pylint

At this point, that just means using a consistent strategy for constant names.
constants get UPPER_CASE and names not used externally get a leading underscore.

As a preference, while renaming constants to be UPPERCASE, move them to
the head of the file. Generally, it's nice to be able to audit the code
that runs on import in one central place.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20201009161558.107041-13-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
John Snow 2020-10-09 12:15:34 -04:00 committed by Markus Armbruster
parent cbe8f87f97
commit a7aa64a6ae
2 changed files with 15 additions and 17 deletions

View File

@ -14,6 +14,11 @@
import re import re
EATSPACE = '\033EATSPACE.'
POINTER_SUFFIX = ' *' + EATSPACE
_C_NAME_TRANS = str.maketrans('.-', '__')
# ENUMName -> ENUM_NAME, EnumName1 -> ENUM_NAME1 # ENUMName -> ENUM_NAME, EnumName1 -> ENUM_NAME1
# ENUM_NAME -> ENUM_NAME, ENUM_NAME1 -> ENUM_NAME1, ENUM_Name2 -> ENUM_NAME2 # ENUM_NAME -> ENUM_NAME, ENUM_NAME1 -> ENUM_NAME1, ENUM_Name2 -> ENUM_NAME2
# ENUM24_Name -> ENUM24_NAME # ENUM24_Name -> ENUM24_NAME
@ -42,9 +47,6 @@ def c_enum_const(type_name, const_name, prefix=None):
return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper() return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper()
c_name_trans = str.maketrans('.-', '__')
# Map @name to a valid C identifier. # Map @name to a valid C identifier.
# If @protect, avoid returning certain ticklish identifiers (like # If @protect, avoid returning certain ticklish identifiers (like
# C keywords) by prepending 'q_'. # C keywords) by prepending 'q_'.
@ -82,17 +84,13 @@ def c_name(name, protect=True):
'not_eq', 'or', 'or_eq', 'xor', 'xor_eq']) 'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'])
# namespace pollution: # namespace pollution:
polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386']) polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386'])
name = name.translate(c_name_trans) name = name.translate(_C_NAME_TRANS)
if protect and (name in c89_words | c99_words | c11_words | gcc_words if protect and (name in c89_words | c99_words | c11_words | gcc_words
| cpp_words | polluted_words): | cpp_words | polluted_words):
return 'q_' + name return 'q_' + name
return name return name
eatspace = '\033EATSPACE.'
pointer_suffix = ' *' + eatspace
class Indentation: class Indentation:
""" """
Indentation level management. Indentation level management.
@ -132,12 +130,12 @@ indent = Indentation()
# Generate @code with @kwds interpolated. # Generate @code with @kwds interpolated.
# Obey indent, and strip eatspace. # Obey indent, and strip EATSPACE.
def cgen(code, **kwds): def cgen(code, **kwds):
raw = code % kwds raw = code % kwds
if indent: if indent:
raw = re.sub(r'^(?!(#|$))', str(indent), raw, flags=re.MULTILINE) raw = re.sub(r'^(?!(#|$))', str(indent), raw, flags=re.MULTILINE)
return re.sub(re.escape(eatspace) + r' *', '', raw) return re.sub(re.escape(EATSPACE) + r' *', '', raw)
def mcgen(code, **kwds): def mcgen(code, **kwds):

View File

@ -18,7 +18,7 @@ from collections import OrderedDict
import os import os
import re import re
from .common import c_name, pointer_suffix from .common import POINTER_SUFFIX, c_name
from .error import QAPIError, QAPISemError from .error import QAPIError, QAPISemError
from .expr import check_exprs from .expr import check_exprs
from .parser import QAPISchemaParser from .parser import QAPISchemaParser
@ -309,7 +309,7 @@ class QAPISchemaArrayType(QAPISchemaType):
return True return True
def c_type(self): def c_type(self):
return c_name(self.name) + pointer_suffix return c_name(self.name) + POINTER_SUFFIX
def json_type(self): def json_type(self):
return 'array' return 'array'
@ -430,7 +430,7 @@ class QAPISchemaObjectType(QAPISchemaType):
def c_type(self): def c_type(self):
assert not self.is_implicit() assert not self.is_implicit()
return c_name(self.name) + pointer_suffix return c_name(self.name) + POINTER_SUFFIX
def c_unboxed_type(self): def c_unboxed_type(self):
return c_name(self.name) return c_name(self.name)
@ -504,7 +504,7 @@ class QAPISchemaAlternateType(QAPISchemaType):
v.connect_doc(doc) v.connect_doc(doc)
def c_type(self): def c_type(self):
return c_name(self.name) + pointer_suffix return c_name(self.name) + POINTER_SUFFIX
def json_type(self): def json_type(self):
return 'value' return 'value'
@ -899,7 +899,7 @@ class QAPISchema:
self._make_array_type(name, None) self._make_array_type(name, None)
def _def_predefineds(self): def _def_predefineds(self):
for t in [('str', 'string', 'char' + pointer_suffix), for t in [('str', 'string', 'char' + POINTER_SUFFIX),
('number', 'number', 'double'), ('number', 'number', 'double'),
('int', 'int', 'int64_t'), ('int', 'int', 'int64_t'),
('int8', 'int', 'int8_t'), ('int8', 'int', 'int8_t'),
@ -912,8 +912,8 @@ class QAPISchema:
('uint64', 'int', 'uint64_t'), ('uint64', 'int', 'uint64_t'),
('size', 'int', 'uint64_t'), ('size', 'int', 'uint64_t'),
('bool', 'boolean', 'bool'), ('bool', 'boolean', 'bool'),
('any', 'value', 'QObject' + pointer_suffix), ('any', 'value', 'QObject' + POINTER_SUFFIX),
('null', 'null', 'QNull' + pointer_suffix)]: ('null', 'null', 'QNull' + POINTER_SUFFIX)]:
self._def_builtin_type(*t) self._def_builtin_type(*t)
self.the_empty_object_type = QAPISchemaObjectType( self.the_empty_object_type = QAPISchemaObjectType(
'q_empty', None, None, None, None, None, [], None) 'q_empty', None, None, None, None, None, [], None)