diff options
Diffstat (limited to 'reconfigure/parsers/nginx.py')
-rw-r--r-- | reconfigure/parsers/nginx.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/reconfigure/parsers/nginx.py b/reconfigure/parsers/nginx.py index 421a483..06b18b4 100644 --- a/reconfigure/parsers/nginx.py +++ b/reconfigure/parsers/nginx.py @@ -9,8 +9,8 @@ class NginxParser (BaseParser): """ tokens = [ - (r"[\w_]+\s*?.*?{", lambda s, t: ('section_start', t)), - (r"[\w_]+?.+?;", lambda s, t: ('option', t)), + (r"[\w_]+\s*?[^\n]*?{", lambda s, t: ('section_start', t)), + (r"[\w_]+?(?:[^\"]+?(?:\".*?\")?)+?;", lambda s, t: ('option', t)), (r"\s", lambda s, t: 'whitespace'), (r"$^", lambda s, t: 'newline'), (r"\#.*?\n", lambda s, t: ('comment', t)), @@ -20,7 +20,7 @@ class NginxParser (BaseParser): token_section_end = '}' def parse(self, content): - scanner = re.Scanner(self.tokens) + scanner = re.Scanner(self.tokens, re.DOTALL) tokens, remainder = scanner.scan(' '.join(filter(None, content.split(' ')))) if remainder: raise Exception('Invalid tokens: %s. Tokens: %s' % (remainder, tokens)) |