Compare commits
25
Commits
3e91e33d40
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
568835855c | ||
|
|
4cc9224384 | ||
|
|
10ebe3cc14 | ||
|
|
2c17a7350c | ||
|
|
20ac17c8e8 | ||
|
|
98b6c1ce26 | ||
|
|
f450f40179 | ||
|
|
0e0efe88e8 | ||
|
|
966a72b708 | ||
|
|
3cba8b3cfb | ||
|
|
7a7092b24a | ||
|
|
2ed73197a7 | ||
|
|
f16ac21bbd | ||
|
|
aaf5639826 | ||
|
|
c68a8e3217 | ||
|
|
daf2b06772 | ||
|
|
7331d6c1a7 | ||
|
|
f1bfbad12b | ||
|
|
a0e762c41e | ||
|
|
0ce3bd9353 | ||
|
|
8378cde372 | ||
|
|
46e5d21bc6 | ||
|
|
5f3ddd15ba | ||
|
|
13cabb826e | ||
|
|
41d8f46b46 |
+11
-7
@@ -54,13 +54,17 @@ class TemplateView(BaseView):
|
|||||||
context = {}
|
context = {}
|
||||||
context['request'] = self.request
|
context['request'] = self.request
|
||||||
context['post'] = await self.request.post()
|
context['post'] = await self.request.post()
|
||||||
|
context["template"] = pathlib.Path(path)
|
||||||
if not context['post']:
|
if not context['post']:
|
||||||
context['post'] = None
|
context['post'] = None
|
||||||
try:
|
try:
|
||||||
context['json'] = await self.request.json()
|
context['json'] = await self.request.json()
|
||||||
except:
|
except:
|
||||||
context['json'] = None
|
context['json'] = None
|
||||||
pass
|
pass
|
||||||
|
self.request.app.jinja2_env.globals["request"] = self.request
|
||||||
|
self.request.app.jinja2_env.globals["context"] = context
|
||||||
|
self.request.app.jinja2_env.globals["template"] = context["template"]
|
||||||
|
|
||||||
if str(path).endswith(".md"):
|
if str(path).endswith(".md"):
|
||||||
renderer = MarkdownRenderer(self.request.app, path)
|
renderer = MarkdownRenderer(self.request.app, path)
|
||||||
@@ -83,8 +87,6 @@ class TemplateView(BaseView):
|
|||||||
"<body>{% markdown %}"+content+"{% endmarkdown %}</body>",
|
"<body>{% markdown %}"+content+"{% endmarkdown %}</body>",
|
||||||
"</html>"
|
"</html>"
|
||||||
])
|
])
|
||||||
self.request.app.jinja2_env["request"] = self.request
|
|
||||||
aelf.request.app.jinja2_env["context"] = context
|
|
||||||
with open(".temp.html", "w+") as f:
|
with open(".temp.html", "w+") as f:
|
||||||
f.write(markdown_default_page)
|
f.write(markdown_default_page)
|
||||||
content = aiohttp_jinja2.render_string(".temp.html",self.request,context=context)
|
content = aiohttp_jinja2.render_string(".temp.html",self.request,context=context)
|
||||||
@@ -123,6 +125,8 @@ class Dreamii(BaseApplication):
|
|||||||
self.router.add_view("/{tail:.*}", TemplateView)
|
self.router.add_view("/{tail:.*}", TemplateView)
|
||||||
self.jinja2_env.enable_async = False
|
self.jinja2_env.enable_async = False
|
||||||
self.jinja2_env.globals["app"] = self
|
self.jinja2_env.globals["app"] = self
|
||||||
|
self.jinja2_env.globals["request"] = None
|
||||||
|
self.jinja2_env.globals["context"] = {}
|
||||||
self.jinja2_env.add_extension(MarkdownExtension)
|
self.jinja2_env.add_extension(MarkdownExtension)
|
||||||
self.jinja2_env.add_extension(PythonExtension)
|
self.jinja2_env.add_extension(PythonExtension)
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,6 @@
|
|||||||
|
|
||||||
|
|
||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
from mistune import Markdown
|
|
||||||
from pygments import highlight
|
|
||||||
from pygments.formatters import html
|
|
||||||
from pygments.lexers import get_lexer_by_name
|
|
||||||
from jinja2 import TemplateSyntaxError, nodes
|
from jinja2 import TemplateSyntaxError, nodes
|
||||||
from jinja2.ext import Extension
|
from jinja2.ext import Extension
|
||||||
from jinja2.nodes import Const
|
from jinja2.nodes import Const
|
||||||
@@ -97,7 +93,6 @@ class PythonExtension(Extension):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
user_source = str(caller()).strip("\n").strip(" ")
|
user_source = str(caller()).strip("\n").strip(" ")
|
||||||
print(user_source)
|
|
||||||
source = "\n".join([base_source, user_source])
|
source = "\n".join([base_source, user_source])
|
||||||
import sys
|
import sys
|
||||||
import io
|
import io
|
||||||
@@ -126,12 +121,13 @@ class PythonExtension(Extension):
|
|||||||
|
|
||||||
return html.escape(result.stdout + result.stderr) if stderr else result.stdout
|
return html.escape(result.stdout + result.stderr) if stderr else result.stdout
|
||||||
environment = self.environment
|
environment = self.environment
|
||||||
|
|
||||||
request = self.environment.globals["request"]
|
request = self.environment.globals["request"]
|
||||||
context = self.environment.globals["context"]
|
context = self.environment.globals["context"]
|
||||||
|
template = self.environment.globals["template"]
|
||||||
db = self.app.db
|
db = self.app.db
|
||||||
app = self.app
|
app = self.app
|
||||||
dreamii = self.app
|
dreamii = self.app
|
||||||
#context = self.context
|
|
||||||
exec(base_source)
|
exec(base_source)
|
||||||
exec(user_source)
|
exec(user_source)
|
||||||
result = sys.stdout.getvalue()
|
result = sys.stdout.getvalue()
|
||||||
|
|||||||
Reference in New Issue
Block a user