CRDA now supports db.txt files with DFS CAC times in country rules, but dbparse.py chokes on such files. We can't do anything useful with CAC times right now since the CRDA binary format doesn't support them, so add code to parse CAC times and emit a warning that they are being ignored. Signed-off-by: Seth Forshee <seth.forshee at canonical.com> --- I'm throwing this out there in case anyone wants to build regulatory.bin files from their own db.txt files which contain CAC times. If so, let me know and I can apply this. Jean-Pierre: This is working fine in my testing. Could you give it a try with your file(s) and let me know how it works? dbparse.py | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/dbparse.py b/dbparse.py index b735b6a..c740eac 100755 --- a/dbparse.py +++ b/dbparse.py @@ -273,23 +273,42 @@ class DBParser(object): if line[0] == '(': items = line.split('),', 1) + pname = items[0] if len(items) == 1: - pname = items[0] line = '' if not pname[-1] == ')': self._syntax_error("Badly parenthesised power definition") pname = pname[:-1] - flags = [] else: - pname = items[0] - flags = items[1].split(',') + line = items[1] power = pname[1:] pname = 'UNNAMED %d' % self._lineno self._parse_power_def(pname, power, dupwarn=False) else: - line = line.split(',') - pname = line[0] - flags = line[1:] + items = line.split(',', 1) + pname = items[0] + if len(items) == 1: + line = '' + else: + line = items[1] + + if len(line) != 0 and line[0] == '(': + self._warn("Ignoring DFS CAC time definition") + items = line.split(')', 1) + cactime = items[0] + if len(items) == 1: + line = '' + if not cactime[-1] == ')': + self._syntax_error("Badly parenthesised CAC time") + cactime = cactime[:-1] + else: + line = items[1] + cactime = cactime[1:] + + if len(line) == 0: + flags = [] + else: + flags = line.split(',') if not bname in self._bands: self._syntax_error("band does not exist") -- 1.9.1