2023-01-03 18:15:43 +00:00
|
|
|
from socketify.template import *
|
2022-10-24 17:15:46 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# https://github.com/chtd/psycopg2cffi/
|
|
|
|
# https://github.com/tlocke/pg8000
|
|
|
|
# https://www.psycopg.org/docs/advanced.html#asynchronous-support (works in cffi version too)
|
|
|
|
# https://github.com/sass/libsass-python
|
2022-10-24 17:15:46 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# @memo() # generate an static string after first execution aka skipping re-rendering when props are unchanged
|
|
|
|
# def title(message):
|
|
|
|
# return h1(message, classes="title-light")
|
2022-11-08 10:17:51 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# @memo(maxsize=128)
|
|
|
|
def htemplate(message, left_message, right_message):
|
2022-11-07 14:06:13 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
return (
|
|
|
|
h1(message),
|
|
|
|
span(
|
|
|
|
children=(
|
|
|
|
span(left_message, classes=("text-light", "align-left")),
|
|
|
|
span(right_message, classes=("text-light", "align-right")),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
)
|
2022-11-01 12:30:46 +00:00
|
|
|
|
2022-11-07 14:06:13 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# <!DOCTYPE html>
|
|
|
|
# <html lang="en">
|
|
|
|
# <head>
|
|
|
|
# <meta charset="UTF-8">
|
|
|
|
# <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
# <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
# <title>Document</title>
|
|
|
|
# </head>
|
|
|
|
# <body>
|
|
|
|
# </body>
|
|
|
|
# </html>
|
|
|
|
def html5():
|
|
|
|
return (
|
|
|
|
doctype(),
|
|
|
|
html(lang="en", children=(
|
|
|
|
head(children=(
|
|
|
|
# meta(charset="UTF-8")
|
|
|
|
# meta(http_equiv="X-UA-Compatible",content="IE=edge")
|
|
|
|
# meta(name="vieport",content="width=device-width, initial-scale=1.0")
|
|
|
|
title("Document")
|
|
|
|
)),
|
|
|
|
body()
|
|
|
|
))
|
|
|
|
)
|
2022-11-16 19:28:46 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# print(render_tostring(html5()))
|
|
|
|
# from mako.template import Template
|
2022-11-07 14:06:13 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# template = Template(
|
|
|
|
# "<h1>${message}</h1><span><span classes=\"text-light align-left\">${left_message}</span><span classes=\"text-light align-right\">${right_message}</span></span>"
|
|
|
|
# )
|
2022-11-16 19:28:46 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# from jinja2 import Environment, BaseLoader
|
|
|
|
# rtemplate = Environment(loader=BaseLoader()).from_string("<h1>{{ message }}</h1><span><span classes=\"text-light align-left\">{{ left_message }}</span><span classes=\"text-light align-right\">{{ right_message }}</span></span>")
|
2022-11-07 14:06:13 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# print(
|
|
|
|
# render_tostring(htemplate(
|
|
|
|
# message="Hello, World!",
|
|
|
|
# left_message="Text in Left",
|
|
|
|
# right_message="Text in Right",
|
|
|
|
# ))
|
|
|
|
# )
|
|
|
|
# print(
|
|
|
|
# render_tostring(htemplate(
|
|
|
|
# message="Hello, World!",
|
|
|
|
# left_message="Text in Left",
|
|
|
|
# right_message="Text in Right",
|
|
|
|
# ))
|
|
|
|
# )
|
2022-11-16 19:28:46 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# for i in range(1_000_000):
|
|
|
|
# render_tostring(htemplate(message="Hello, World!", left_message="Text in Left", right_message="Text in Right"))
|
|
|
|
# template.render(message="Hello, World!", left_message="Text in Left", right_message="Text in Right")
|
|
|
|
# rtemplate.render(message="Hello, World!", left_message="Text in Left", right_message="Text in Right")
|
2022-11-16 19:28:46 +00:00
|
|
|
|
2023-01-03 18:15:43 +00:00
|
|
|
# print(
|
|
|
|
# render(
|
|
|
|
# html(
|
|
|
|
# message="Hello, World!",
|
|
|
|
# left_message="Text in Left",
|
|
|
|
# right_message="Text in Right",
|
|
|
|
# )
|
|
|
|
# )
|
|
|
|
# )
|