This commit is contained in:
retoor 2025-02-25 19:39:40 +01:00
parent a203ece6a4
commit 5fd643bf58
2 changed files with 9 additions and 13 deletions
src/dreamii

View File

@ -54,15 +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["request"] = self.request
self.request.app.jinja2_env.globals["context"] = context self.request.app.jinja2_env.globals["context"] = context
self.request.app.jinja2_env.globals["template"] = template
if str(path).endswith(".md"): if str(path).endswith(".md"):
renderer = MarkdownRenderer(self.request.app, path) renderer = MarkdownRenderer(self.request.app, path)

View File

@ -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,14 +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()