Merge "astconfigparser.py: Update with realtime fixes." into 13

changes/73/3373/1
Joshua Colp 9 years ago committed by Gerrit Code Review
commit 78de6eabbc

@ -1,3 +1,10 @@
"""
Copyright (C) 2016, Digium, Inc.
This program is free software, distributed under the terms of
the GNU General Public License Version 2.
"""
import re
import itertools
@ -44,6 +51,12 @@ class Section(MultiOrderedDict):
"""
return cmp(self.id, other.id)
def __eq__(self, other):
"""
Use self.id as means of determining equality
"""
return self.id == other.id
def get(self, key, from_self=True, from_templates=True,
from_defaults=True):
"""
@ -184,9 +197,14 @@ def remove_comment(line, is_comment):
# otherwise it was an embedded comment so combine
return ''.join([part[0].strip(), ' ', line]).rstrip(), False
# check for eol comment
return line.partition(COMMENT)[0].strip(), False
# find the first occurence of a comment that is not escaped
match = re.match(r'.*?([^\\];)', line)
if match:
# the end of where the real string is is where the comment starts
line = line[0:(match.end()-1)]
return line.replace("\\", "").strip(), False
def try_include(line):
"""
@ -224,7 +242,7 @@ def try_section(line):
def try_option(line):
"""Parses the line as an option, returning the key/value pair."""
data = re.split('=>?', line)
data = re.split('=>?', line, 1)
# should split in two (key/val), but either way use first two elements
return data[0].rstrip(), data[1].lstrip()

Loading…
Cancel
Save