[virt-tools-list] [libvirt] [PATCH 22/22] apibuild: Simplify parsing string tokens
Radostin Stoyanov
rstoyanov1 at gmail.com
Sat Mar 17 13:48:58 UTC 2018
Improve readability and reduce the complexity of the code that is
searching for string tokens (i.e. characters surrounded by a single
or double quote).
Signed-off-by: Radostin Stoyanov <rstoyanov1 at gmail.com>
---
docs/apibuild.py | 32 ++++++++++----------------------
1 file changed, 10 insertions(+), 22 deletions(-)
diff --git a/docs/apibuild.py b/docs/apibuild.py
index 24e0eb505..f2971db5b 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -484,28 +484,16 @@ class CLexer:
break
l = len(line)
if line[0] == '"' or line[0] == "'":
- end = line[0]
- line = line[1:]
- found = 0
- tok = ""
- while found == 0:
- i = 0
- l = len(line)
- while i < l:
- if line[i] == end:
- self.line = line[i+1:]
- line = line[:i]
- l = i
- found = 1
- break
- if line[i] == '\\':
- i = i + 1
- i = i + 1
- tok = tok + line
- if found == 0:
- line = self.getline()
- if line is None:
- return None
+ quote = line[0]
+ i = 1
+ while quote not in line[i:]:
+ i = len(line)
+ nextline = self.getline()
+ if nextline is None:
+ return None
+ line += nextline
+
+ tok, self.line = line[1:].split(quote, 1)
self.last = ('string', tok)
return self.last
--
2.14.3
More information about the virt-tools-list
mailing list