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 |
+6
-2
@@ -54,6 +54,7 @@ class TemplateView(BaseView):
|
||||
context = {}
|
||||
context['request'] = self.request
|
||||
context['post'] = await self.request.post()
|
||||
context["template"] = pathlib.Path(path)
|
||||
if not context['post']:
|
||||
context['post'] = None
|
||||
try:
|
||||
@@ -61,6 +62,9 @@ class TemplateView(BaseView):
|
||||
except:
|
||||
context['json'] = None
|
||||
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"):
|
||||
renderer = MarkdownRenderer(self.request.app, path)
|
||||
@@ -83,8 +87,6 @@ class TemplateView(BaseView):
|
||||
"<body>{% markdown %}"+content+"{% endmarkdown %}</body>",
|
||||
"</html>"
|
||||
])
|
||||
self.request.app.jinja2_env["request"] = self.request
|
||||
aelf.request.app.jinja2_env["context"] = context
|
||||
with open(".temp.html", "w+") as f:
|
||||
f.write(markdown_default_page)
|
||||
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.jinja2_env.enable_async = False
|
||||
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(PythonExtension)
|
||||
|
||||
|
||||
@@ -22,10 +22,6 @@
|
||||
|
||||
|
||||
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.ext import Extension
|
||||
from jinja2.nodes import Const
|
||||
@@ -97,7 +93,6 @@ class PythonExtension(Extension):
|
||||
]
|
||||
)
|
||||
user_source = str(caller()).strip("\n").strip(" ")
|
||||
print(user_source)
|
||||
source = "\n".join([base_source, user_source])
|
||||
import sys
|
||||
import io
|
||||
@@ -126,12 +121,13 @@ class PythonExtension(Extension):
|
||||
|
||||
return html.escape(result.stdout + result.stderr) if stderr else result.stdout
|
||||
environment = self.environment
|
||||
|
||||
request = self.environment.globals["request"]
|
||||
context = self.environment.globals["context"]
|
||||
template = self.environment.globals["template"]
|
||||
db = self.app.db
|
||||
app = self.app
|
||||
dreamii = self.app
|
||||
#context = self.context
|
||||
exec(base_source)
|
||||
exec(user_source)
|
||||
result = sys.stdout.getvalue()
|
||||
|
||||
Reference in New Issue
Block a user