Skip to content
Snippets Groups Projects
Commit a7aa64a6 authored by John Snow's avatar John Snow Committed by Markus Armbruster
Browse files

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: default avatarJohn Snow <jsnow@redhat.com>
Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Reviewed-by: default avatarCleber Rosa <crosa@redhat.com>
Message-Id: <20201009161558.107041-13-jsnow@redhat.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
parent cbe8f87f
No related branches found
No related tags found
No related merge requests found
......@@ -14,6 +14,11 @@
import re
EATSPACE = '\033EATSPACE.'
POINTER_SUFFIX = ' *' + EATSPACE
_C_NAME_TRANS = str.maketrans('.-', '__')
# ENUMName -> ENUM_NAME, EnumName1 -> ENUM_NAME1
# ENUM_NAME -> ENUM_NAME, ENUM_NAME1 -> ENUM_NAME1, ENUM_Name2 -> ENUM_NAME2
# 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()
c_name_trans = str.maketrans('.-', '__')
# Map @name to a valid C identifier.
# If @protect, avoid returning certain ticklish identifiers (like
# C keywords) by prepending 'q_'.
......@@ -82,17 +84,13 @@ def c_name(name, protect=True):
'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'])
# namespace pollution:
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
| cpp_words | polluted_words):
return 'q_' + name
return name
eatspace = '\033EATSPACE.'
pointer_suffix = ' *' + eatspace
class Indentation:
"""
Indentation level management.
......@@ -132,12 +130,12 @@ def decrease(self, amount: int = 4) -> None:
# Generate @code with @kwds interpolated.
# Obey indent, and strip eatspace.
# Obey indent, and strip EATSPACE.
def cgen(code, **kwds):
raw = code % kwds
if indent:
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):
......
......@@ -18,7 +18,7 @@
import os
import re
from .common import c_name, pointer_suffix
from .common import POINTER_SUFFIX, c_name
from .error import QAPIError, QAPISemError
from .expr import check_exprs
from .parser import QAPISchemaParser
......@@ -309,7 +309,7 @@ def is_implicit(self):
return True
def c_type(self):
return c_name(self.name) + pointer_suffix
return c_name(self.name) + POINTER_SUFFIX
def json_type(self):
return 'array'
......@@ -430,7 +430,7 @@ def c_name(self):
def c_type(self):
assert not self.is_implicit()
return c_name(self.name) + pointer_suffix
return c_name(self.name) + POINTER_SUFFIX
def c_unboxed_type(self):
return c_name(self.name)
......@@ -504,7 +504,7 @@ def connect_doc(self, doc=None):
v.connect_doc(doc)
def c_type(self):
return c_name(self.name) + pointer_suffix
return c_name(self.name) + POINTER_SUFFIX
def json_type(self):
return 'value'
......@@ -899,7 +899,7 @@ def _def_builtin_type(self, name, json_type, c_type):
self._make_array_type(name, None)
def _def_predefineds(self):
for t in [('str', 'string', 'char' + pointer_suffix),
for t in [('str', 'string', 'char' + POINTER_SUFFIX),
('number', 'number', 'double'),
('int', 'int', 'int64_t'),
('int8', 'int', 'int8_t'),
......@@ -912,8 +912,8 @@ def _def_predefineds(self):
('uint64', 'int', 'uint64_t'),
('size', 'int', 'uint64_t'),
('bool', 'boolean', 'bool'),
('any', 'value', 'QObject' + pointer_suffix),
('null', 'null', 'QNull' + pointer_suffix)]:
('any', 'value', 'QObject' + POINTER_SUFFIX),
('null', 'null', 'QNull' + POINTER_SUFFIX)]:
self._def_builtin_type(*t)
self.the_empty_object_type = QAPISchemaObjectType(
'q_empty', None, None, None, None, None, [], None)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment