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).
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
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