summaryrefslogtreecommitdiff
path: root/asciifarm/client/loaders.py
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client/loaders.py')
-rw-r--r--asciifarm/client/loaders.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/asciifarm/client/loaders.py b/asciifarm/client/loaders.py
deleted file mode 100644
index efdd1c0..0000000
--- a/asciifarm/client/loaders.py
+++ /dev/null
@@ -1,81 +0,0 @@
-
-import os
-
-from .paths import keybindingsPath, charmapPath
-import json
-
-
-standardKeyFiles = {
- "default": os.path.join(keybindingsPath, "default.json"),
- "azerty": os.path.join(keybindingsPath, "azerty.json")
-}
-
-def loadKeybindings(name):
- fname = None
- if name in standardKeyFiles:
- fname = standardKeyFiles[name]
- else:
- fname = name
- with open(fname) as f:
- data = json.load(f)
- bindings = {}
- help = ""
- for ftemplate in data.get("templates", []):
- if ftemplate.partition(os.sep)[0] in {".", ".."}:
- ftemplate = os.path.relpath(ftemplate, fname)
- template = loadKeybindings(ftemplate)
- bindings.update(template.get("actions", {}))
- help = template.get("help", help)
- bindings.update(data.get("actions", {}))
- help = data.get("help", help)
- return {"actions": bindings, "help": help}
-
-
-standardCharFiles = {name: os.path.join(charmapPath, file) for name, file in {
- "default": "fullwidth.json",
- "halfwidth": "halfwidth.json",
- "hw": "halfwidth.json",
- "fullwidth": "fullwidth.json",
- "fw": "fullwidth.json",
- "emoji": "emoji.json"
-}.items()}
-
-def loadCharmap(name):
- fname = None
- if name in standardCharFiles:
- fname = standardCharFiles[name]
- else:
- fname = name
- with open(fname) as f:
- data = json.load(f)
-
- templates = []
- for ftemplate in data.get("templates", []):
- if ftemplate.partition(os.sep)[0] in {".", ".."}:
- ftemplate = os.path.relpath(ftemplate, fname)
- templates.append(loadCharmap(ftemplate))
-
- templates.append(data)
-
- mapping = {}
- writable = {}
- default = None
- charwidth = 1
- alphabet = ""
- msgcolours = {}
-
- for template in templates:
- mapping.update(template.get("mapping", {}))
- writable.update(template.get("writable", {}))
- default = template.get("default", default)
- charwidth = template.get("charwidth", charwidth)
- alphabet = template.get("alphabet", alphabet)
- msgcolours.update(template.get("msgcolours", {}))
- return {
- "mapping": mapping,
- "writable": writable,
- "default": default,
- "charwidth": charwidth,
- "alphabet": alphabet,
- "msgcolours": msgcolours
- }