[virt-tools-list] [libvirt] [PATCH 09/22] apibuild: Simplify conditional statements
Radostin Stoyanov
rstoyanov1 at gmail.com
Sat Mar 17 13:48:45 UTC 2018
Improve readability by reducing the complexity and length of
conditional statements.
Example: The following condition:
if (o >= 97 and o <= 122) or
(o >= 65 and o <= 90) or
(o >= 48 and o <= 57) or
(" \t(){}:;,+-*/%&!|[]=><".find(line[i]) == -1):
Will be True for every character that is not in string:
" \t(){}:;,+-*/%&!|[]=><"
Signed-off-by: Radostin Stoyanov <rstoyanov1 at gmail.com>
---
docs/apibuild.py | 33 ++++++++++-----------------------
1 file changed, 10 insertions(+), 23 deletions(-)
diff --git a/docs/apibuild.py b/docs/apibuild.py
index 644d96f69..1b9401226 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -564,28 +564,23 @@ class CLexer:
if line[i] == ' ' or line[i] == '\t':
i = i + 1
continue
- o = ord(line[i])
- if (o >= 97 and o <= 122) or (o >= 65 and o <= 90) or \
- (o >= 48 and o <= 57):
+ if re.match(r"[a-zA-Z0-9]", line[i]):
s = i
while i < l:
- o = ord(line[i])
- if (o >= 97 and o <= 122) or (o >= 65 and o <= 90) or \
- (o >= 48 and o <= 57) or \
- (" \t(){}:;,+-*/%&!|[]=><".find(line[i]) == -1):
+ if line[i] not in " \t(){}:;,+-*/%&!|[]=><":
i = i + 1
else:
break
self.tokens.append(('name', line[s:i]))
continue
- if "(){}:;,[]".find(line[i]) != -1:
+ if line[i] in "(){}:;,[]":
# if line[i] == '(' or line[i] == ')' or line[i] == '{' or \
# line[i] == '}' or line[i] == ':' or line[i] == ';' or \
# line[i] == ',' or line[i] == '[' or line[i] == ']':
self.tokens.append(('sep', line[i]))
i = i + 1
continue
- if "+-*><=/%&!|.".find(line[i]) != -1:
+ if line[i] in "+-*><=/%&!|.":
# if line[i] == '+' or line[i] == '-' or line[i] == '*' or \
# line[i] == '>' or line[i] == '<' or line[i] == '=' or \
# line[i] == '/' or line[i] == '%' or line[i] == '&' or \
@@ -597,8 +592,7 @@ class CLexer:
continue
j = i + 1
- if j < l and (
- "+-*><=/%&!|".find(line[j]) != -1):
+ if j < l and line[j] in "+-*><=/%&!|":
# line[j] == '+' or line[j] == '-' or line[j] == '*' or \
# line[j] == '>' or line[j] == '<' or line[j] == '=' or \
# line[j] == '/' or line[j] == '%' or line[j] == '&' or \
@@ -611,10 +605,7 @@ class CLexer:
continue
s = i
while i < l:
- o = ord(line[i])
- if (o >= 97 and o <= 122) or (o >= 65 and o <= 90) or \
- (o >= 48 and o <= 57) or \
- (" \t(){}:;,+-*/%&!|[]=><".find(line[i]) == -1):
+ if line[i] not in " \t(){}:;,+-*/%&!|[]=><":
# line[i] != ' ' and line[i] != '\t' and
# line[i] != '(' and line[i] != ')' and
# line[i] != '{' and line[i] != '}' and
@@ -1555,10 +1546,8 @@ class CParser:
if token is None:
return token
- while token[0] == "name" and (
- token[1] == "const" or \
- token[1] == "unsigned" or \
- token[1] == "signed"):
+ while (token[0] == "name" and
+ token[1] in ["const", "unsigned", "signed"]):
if self.type == "":
self.type = token[1]
else:
@@ -2402,8 +2391,7 @@ class docBuilder:
pass
typ = sorted(funcs.keys())
for type in typ:
- if type == '' or type == 'void' or type == "int" or \
- type == "char *" or type == "const char *":
+ if type in ['', "void", "int", "char *", "const char *"]:
continue
output.write(" <type name='%s'>\n" % (type))
ids = funcs[type]
@@ -2431,8 +2419,7 @@ class docBuilder:
pass
typ = sorted(funcs.keys())
for type in typ:
- if type == '' or type == 'void' or type == "int" or \
- type == "char *" or type == "const char *":
+ if type in ['', "void", "int", "char *", "const char *"]:
continue
output.write(" <type name='%s'>\n" % (type))
ids = sorted(funcs[type])
--
2.14.3
More information about the virt-tools-list
mailing list