projects
/
kiosk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a recipe renderer and trigger.
[kiosk.git]
/
page_builder.py
diff --git
a/page_builder.py
b/page_builder.py
index 65f5b93e354fc138d9dcbf390feaa2e0d1801fce..235f51192debddc5ca851bdc1ea39334b3c37693 100644
(file)
--- a/
page_builder.py
+++ b/
page_builder.py
@@
-1,5
+1,8
@@
+#!/usr/bin/env python3
+
import sys
import sys
+
class page_builder(object):
LAYOUT_AUTO = 0
LAYOUT_ONE_ITEM = 1
class page_builder(object):
LAYOUT_AUTO = 0
LAYOUT_ONE_ITEM = 1
@@
-14,28
+17,29
@@
class page_builder(object):
self.layout = page_builder.LAYOUT_AUTO
self.items = []
self.debug_info = None
self.layout = page_builder.LAYOUT_AUTO
self.items = []
self.debug_info = None
+ self.custom_html = None
- def set_layout(self, layout):
+ def set_layout(self, layout
: int
):
self.layout = layout
return self
self.layout = layout
return self
- def set_title(self, title):
+ def set_title(self, title
: str
):
self.title = title
return self
self.title = title
return self
- def set_style(self, style):
+ def set_style(self, style
: str
):
self.style = style
return self
self.style = style
return self
- def add_item(self, item):
+ def add_item(self, item
: str
):
self.items.append(item)
return self
self.items.append(item)
return self
- def set_debug_info(self, debug_info):
+ def set_debug_info(self, debug_info
: bool
):
self.debug_info = debug_info
return self
self.debug_info = debug_info
return self
- def __pick_layout(self):
+ def __pick_layout(self)
-> None
:
if len(self.items) == 1:
self.layout = page_builder.LAYOUT_ONE_ITEM
elif len(self.items) <= 4:
if len(self.items) == 1:
self.layout = page_builder.LAYOUT_ONE_ITEM
elif len(self.items) <= 4:
@@
-43,20
+47,24
@@
class page_builder(object):
else:
self.layout = page_builder.LAYOUT_MANY_ITEMS
else:
self.layout = page_builder.LAYOUT_MANY_ITEMS
- def __render_header(self, f):
+ def __render_custom_html(self, f) -> None:
+ if self.custom_html is not None:
+ f.write(self.custom_html)
+
+ def __render_header(self, f) -> None:
if self.title is not None:
f.write("<H1>%s</H1>\n" % self.title)
f.write("<HR>\n<TABLE WIDTH=99% BORDER=0>\n<TR>\n")
if self.style is not None:
f.write(self.style)
if self.title is not None:
f.write("<H1>%s</H1>\n" % self.title)
f.write("<HR>\n<TABLE WIDTH=99% BORDER=0>\n<TR>\n")
if self.style is not None:
f.write(self.style)
- def __render_footer(self, f):
+ def __render_footer(self, f)
-> None
:
f.write("</TR>\n</TABLE>\n")
f.write("</TR>\n</TABLE>\n")
- def render_html(self, f):
+ def render_html(self, f)
-> None
:
if self.layout == page_builder.LAYOUT_AUTO or self.layout is None:
self.__pick_layout()
if self.layout == page_builder.LAYOUT_AUTO or self.layout is None:
self.__pick_layout()
-
+ self.__render_custom_html(f)
self.__render_header(f)
items_per_row = None
self.__render_header(f)
items_per_row = None
@@
-78,6
+86,7
@@
class page_builder(object):
else:
print("Error, unknown layout type: %d" % self.layout)
else:
print("Error, unknown layout type: %d" % self.layout)
+ return
count = 0
self.items.sort(key=len, reverse=True)
count = 0
self.items.sort(key=len, reverse=True)
@@
-86,8
+95,11
@@
class page_builder(object):
count += 1
if count % items_per_row == 0:
f.write("</TR>\n<TR>\n")
count += 1
if count % items_per_row == 0:
f.write("</TR>\n<TR>\n")
-
self.__render_footer(f)
self.__render_footer(f)
-#x = page_builder()
-#x.set_title("title").add_item("item1").add_item("item2").add_item("item3").render_html(sys.stdout)
+ def set_custom_html(self, html):
+ self.custom_html = html
+
+
+# x = page_builder()
+# x.set_title("title").add_item("item1").add_item("item2").add_item("item3").render_html(sys.stdout)