Show More
@@ -1,5 +1,5 b'' | |||||
1 | from i18n import _ |
|
1 | from i18n import _ | |
2 | import re, error |
|
2 | import re, error, os | |
3 |
|
3 | |||
4 | class sortdict(dict): |
|
4 | class sortdict(dict): | |
5 | 'a simple append-only sorted dictionary' |
|
5 | 'a simple append-only sorted dictionary' | |
@@ -62,6 +62,7 b' class config:' | |||||
62 | itemre = re.compile(r'([^=\s]+)\s*=\s*(.*)') |
|
62 | itemre = re.compile(r'([^=\s]+)\s*=\s*(.*)') | |
63 | contre = re.compile(r'\s+(\S.*)') |
|
63 | contre = re.compile(r'\s+(\S.*)') | |
64 | emptyre = re.compile(r'(;|#|\s*$)') |
|
64 | emptyre = re.compile(r'(;|#|\s*$)') | |
|
65 | includere = re.compile(r'%include\s+(\S.*)') | |||
65 | section = "" |
|
66 | section = "" | |
66 | item = None |
|
67 | item = None | |
67 | line = 0 |
|
68 | line = 0 | |
@@ -79,6 +80,14 b' class config:' | |||||
79 | self.set(section, item, v, "%s:%d" % (path, line)) |
|
80 | self.set(section, item, v, "%s:%d" % (path, line)) | |
80 | continue |
|
81 | continue | |
81 | item = None |
|
82 | item = None | |
|
83 | m = includere.match(l) | |||
|
84 | if m: | |||
|
85 | inc = m.group(1) | |||
|
86 | base = os.path.dirname(path) | |||
|
87 | inc = os.path.normpath(os.path.join(base, inc)) | |||
|
88 | incfp = open(inc) | |||
|
89 | self.read(inc, incfp) | |||
|
90 | continue | |||
82 | if emptyre.match(l): |
|
91 | if emptyre.match(l): | |
83 | continue |
|
92 | continue | |
84 | m = sectionre.match(l) |
|
93 | m = sectionre.match(l) |
General Comments 0
You need to be logged in to leave comments.
Login now