diff options
Diffstat (limited to 'materials/ratdb.py')
-rw-r--r-- | materials/ratdb.py | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/materials/ratdb.py b/materials/ratdb.py deleted file mode 100644 index 2b14761..0000000 --- a/materials/ratdb.py +++ /dev/null @@ -1,35 +0,0 @@ -import re -import json - -trailing_comma = re.compile(r',[ ]*\]') -trailing_double_marker = re.compile(r'(\d+[.]?)(d)([^+\-\d])') -trailing_period = re.compile(r'(\d+\.)(\W)') -double_marker = re.compile(r'(\d+)(d)([+-]?\d)') -comments = re.compile(r'//.*') -key = re.compile(r'([ ]*)(\w*)([ ]*:.*)') - -def load(f): - s = f.read() - s = trailing_comma.sub(']', s) - s = trailing_double_marker.sub(r'\1\3', s) - s = double_marker.sub(r'\1e\3', s) - s = comments.sub('', s) - s = key.sub(r'\1"\2"\3', s) - s = trailing_period.sub(r'\g<1>0\2', s) - - db = {} - for data in re.findall('{.*?}', s, flags=re.DOTALL): - d = json.loads(data) - - name = d['name'] - index = d['index'] - - if name not in db: - db[name] = {} - - if index not in db[name]: - db[name][index] = {} - - db[name][index].update(d) - - return db |