diff --git a/src/dreamii/app.py b/src/dreamii/app.py index eaa2bce..1a4aabc 100644 --- a/src/dreamii/app.py +++ b/src/dreamii/app.py @@ -54,15 +54,17 @@ 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: - context['json'] = await self.request.json() - except: - context['json'] = None - pass + try: + context['json'] = await self.request.json() + 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"] = template if str(path).endswith(".md"): renderer = MarkdownRenderer(self.request.app, path) diff --git a/src/dreamii/python.py b/src/dreamii/python.py index f925efe..afdf97f 100644 --- a/src/dreamii/python.py +++ b/src/dreamii/python.py @@ -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,14 +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()