diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2020-04-21 17:50:05 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2020-04-21 17:50:05 +0200 |
| commit | 5c0cc8e2f4fd632445079abc7af1b65ca0d3a8e0 (patch) | |
| tree | 09c9629b24d848f648cbd6d00090c659035ef778 /libs | |
| parent | 5c07eda3fa0e48c7b8337f8b57b8390da86ee6d7 (diff) | |
Create package
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/__init__.py | 0 | ||||
| -rw-r--r-- | libs/args.py | 9 | ||||
| -rw-r--r-- | libs/resource.py | 23 | ||||
| -rw-r--r-- | libs/theme.py | 29 |
4 files changed, 61 insertions, 0 deletions
diff --git a/libs/__init__.py b/libs/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libs/__init__.py diff --git a/libs/args.py b/libs/args.py new file mode 100644 index 0000000..6ae54bf --- /dev/null +++ b/libs/args.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python + +import argparse + +args_parser = argparse.ArgumentParser() +args_parser.add_argument("resource", help="A JSON resource file.") +args_parser.add_argument("destination", help="Start page folder name.") +args = args_parser.parse_args() + diff --git a/libs/resource.py b/libs/resource.py new file mode 100644 index 0000000..f521022 --- /dev/null +++ b/libs/resource.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +from os import path +import json, jsonschema + + +class Resource: + def __init__(self, resource): + self.resource=resource + # Read data + try: + with open(resource,'r') as f: + self.data=f.read() + except IOError: + print("Unable to found "+resource) + exit(1) + # Decode data + try: + self.json=json.loads(self.data) + except: + print("Unable to read json from "+resource) + exit(1) + diff --git a/libs/theme.py b/libs/theme.py new file mode 100644 index 0000000..9859451 --- /dev/null +++ b/libs/theme.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +from resource import Resource +from shutil import copytree, ignore_patterns +from jinja2 import Template +import os + +class Theme: + + def __init__(self, path, resource_data): + res=Resource(path+"/resources.json") + self.theme_path=path.strip('/') + self.data=res.json + self.data.update(resource_data) + # Read theme + try: + with open(path+"/index.html",'r') as f: + self.template=Template(f.read()) + except IOError: + print("Unable to found "+resource) + exit(1) + + + def deploy(self, path): + copytree(self.theme_path, path, dirs_exist_ok=True,ignore=ignore_patterns("*.json","index.html")) + themes_dir=os.path.split(self.theme_path)[0] + theme_dir=os.path.split(self.theme_path)[1] + with open(path+"/index.html", "w") as index: + index.write(self.template.render(self.data)) |
