summaryrefslogtreecommitdiff
path: root/materials/ratdb.py
diff options
context:
space:
mode:
Diffstat (limited to 'materials/ratdb.py')
-rw-r--r--materials/ratdb.py35
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