Create package
This commit is contained in:
parent
5c07eda3fa
commit
5c0cc8e2f4
8 changed files with 189 additions and 3 deletions
0
libs/__init__.py
Normal file
0
libs/__init__.py
Normal file
9
libs/args.py
Normal file
9
libs/args.py
Normal file
|
@ -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()
|
||||
|
23
libs/resource.py
Normal file
23
libs/resource.py
Normal file
|
@ -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)
|
||||
|
29
libs/theme.py
Normal file
29
libs/theme.py
Normal file
|
@ -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))
|
Loading…
Add table
Add a link
Reference in a new issue