From 8c42c99ecf91d036fdc01906007dd5103ce2166a Mon Sep 17 00:00:00 2001 From: Nikhil Rao Date: Wed, 10 May 2023 23:26:01 -0700 Subject: [PATCH] Unindent jinja template code (#1001) --- .../jinja}/app/pcconfig.py.jinja2 | 0 .../jinja}/web/pages/_document.js.jinja2 | 2 +- .../jinja}/web/pages/base_page.js.jinja2 | 0 .../web/pages/custom_component.js.jinja2 | 0 .../jinja}/web/pages/index.js.jinja2 | 2 +- .../jinja}/web/pages/utils.js.jinja2 | 16 ++++---- .../jinja}/web/utils/theme.js.jinja2 | 0 pynecone/constants.py | 2 +- pynecone/middleware/__init__.py | 1 - pynecone/middleware/logging_middleware.py | 38 ------------------- pynecone/pc.py | 11 +++--- pynecone/utils/exec.py | 2 +- pynecone/{ => utils}/telemetry.py | 2 +- pynecone/{ => utils}/watch.py | 0 tests/test_telemetry.py | 2 +- 15 files changed, 19 insertions(+), 59 deletions(-) rename pynecone/{templates => .templates/jinja}/app/pcconfig.py.jinja2 (100%) rename pynecone/{templates => .templates/jinja}/web/pages/_document.js.jinja2 (74%) rename pynecone/{templates => .templates/jinja}/web/pages/base_page.js.jinja2 (100%) rename pynecone/{templates => .templates/jinja}/web/pages/custom_component.js.jinja2 (100%) rename pynecone/{templates => .templates/jinja}/web/pages/index.js.jinja2 (98%) rename pynecone/{templates => .templates/jinja}/web/pages/utils.js.jinja2 (89%) rename pynecone/{templates => .templates/jinja}/web/utils/theme.js.jinja2 (100%) delete mode 100644 pynecone/middleware/logging_middleware.py rename pynecone/{ => utils}/telemetry.py (97%) rename pynecone/{ => utils}/watch.py (100%) diff --git a/pynecone/templates/app/pcconfig.py.jinja2 b/pynecone/.templates/jinja/app/pcconfig.py.jinja2 similarity index 100% rename from pynecone/templates/app/pcconfig.py.jinja2 rename to pynecone/.templates/jinja/app/pcconfig.py.jinja2 diff --git a/pynecone/templates/web/pages/_document.js.jinja2 b/pynecone/.templates/jinja/web/pages/_document.js.jinja2 similarity index 74% rename from pynecone/templates/web/pages/_document.js.jinja2 rename to pynecone/.templates/jinja/web/pages/_document.js.jinja2 index f17c42069..266c0d5a5 100644 --- a/pynecone/templates/web/pages/_document.js.jinja2 +++ b/pynecone/.templates/jinja/web/pages/_document.js.jinja2 @@ -3,7 +3,7 @@ {% block export %} export default function Document() { return ( - {{utils.render(document, indent_width=4)}} + {{utils.render(document, indent_width=0)}} ) } {% endblock %} diff --git a/pynecone/templates/web/pages/base_page.js.jinja2 b/pynecone/.templates/jinja/web/pages/base_page.js.jinja2 similarity index 100% rename from pynecone/templates/web/pages/base_page.js.jinja2 rename to pynecone/.templates/jinja/web/pages/base_page.js.jinja2 diff --git a/pynecone/templates/web/pages/custom_component.js.jinja2 b/pynecone/.templates/jinja/web/pages/custom_component.js.jinja2 similarity index 100% rename from pynecone/templates/web/pages/custom_component.js.jinja2 rename to pynecone/.templates/jinja/web/pages/custom_component.js.jinja2 diff --git a/pynecone/templates/web/pages/index.js.jinja2 b/pynecone/.templates/jinja/web/pages/index.js.jinja2 similarity index 98% rename from pynecone/templates/web/pages/index.js.jinja2 rename to pynecone/.templates/jinja/web/pages/index.js.jinja2 index f8e4bdfdd..00fef933e 100644 --- a/pynecone/templates/web/pages/index.js.jinja2 +++ b/pynecone/.templates/jinja/web/pages/index.js.jinja2 @@ -67,7 +67,7 @@ export default function Component() { {% endfor %} return ( - {{utils.render(render, indent_width=4)}} + {{utils.render(render, indent_width=0)}} ) } {% endblock %} diff --git a/pynecone/templates/web/pages/utils.js.jinja2 b/pynecone/.templates/jinja/web/pages/utils.js.jinja2 similarity index 89% rename from pynecone/templates/web/pages/utils.js.jinja2 rename to pynecone/.templates/jinja/web/pages/utils.js.jinja2 index 7ec0b01f9..d06d29e20 100644 --- a/pynecone/templates/web/pages/utils.js.jinja2 +++ b/pynecone/.templates/jinja/web/pages/utils.js.jinja2 @@ -1,8 +1,8 @@ -{# Renderting components recursively. #} +{# Rendering components recursively. #} {# Args: #} {# component: component dictionary #} {# indent_width: indent width #} -{% macro render(component, indent_width=2) %} +{% macro render(component, indent_width=0) %} {% filter indent(width=indent_width) %} {%- if component is not mapping %} {{- component }} @@ -18,7 +18,7 @@ {% endfilter %} {% endmacro %} -{# Renderting self close tag. #} +{# Rendering self close tag. #} {# Args: #} {# component: component dictionary #} {% macro render_self_close_tag(component) %} @@ -29,7 +29,7 @@ {%- endif %} {% endmacro %} -{# Renderting close tag with args and props. #} +{# Rendering close tag with args and props. #} {# Args: #} {# component: component dictionary #} {% macro render_tag(component) %} @@ -46,7 +46,7 @@ {%- endmacro %} -{# Renderting condition component. #} +{# Rendering condition component. #} {# Args: #} {# component: component dictionary #} {% macro render_condition_tag(component) %} @@ -58,7 +58,7 @@ {%- endmacro %} -{# Renderting iterable component. #} +{# Rendering iterable component. #} {# Args: #} {# component: component dictionary #} {% macro render_iterable_tag(component) %} @@ -70,7 +70,7 @@ {%- endmacro %} -{# Renderting props of a component. #} +{# Rendering props of a component. #} {# Args: #} {# component: component dictionary #} {% macro render_props(props) %} @@ -78,7 +78,7 @@ {% endmacro %} -{# Renderting content with args. #} +{# Rendering content with args. #} {# Args: #} {# component: component dictionary #} {% macro render_arg_content(component) %} diff --git a/pynecone/templates/web/utils/theme.js.jinja2 b/pynecone/.templates/jinja/web/utils/theme.js.jinja2 similarity index 100% rename from pynecone/templates/web/utils/theme.js.jinja2 rename to pynecone/.templates/jinja/web/utils/theme.js.jinja2 diff --git a/pynecone/constants.py b/pynecone/constants.py index 863d37905..f83aaf317 100644 --- a/pynecone/constants.py +++ b/pynecone/constants.py @@ -34,7 +34,7 @@ WEB_TEMPLATE_DIR = os.path.join(TEMPLATE_DIR, "web") # The assets subdirectory of the template directory. ASSETS_TEMPLATE_DIR = os.path.join(TEMPLATE_DIR, APP_ASSETS_DIR) # The jinja template directory. -JINJA_TEMPLATE_DIR = os.path.join(ROOT_DIR, MODULE_NAME, "templates") +JINJA_TEMPLATE_DIR = os.path.join(TEMPLATE_DIR, "jinja") # The frontend directories in a project. # The web folder where the NextJS app is compiled to. diff --git a/pynecone/middleware/__init__.py b/pynecone/middleware/__init__.py index e20de5c9f..206cf0d35 100644 --- a/pynecone/middleware/__init__.py +++ b/pynecone/middleware/__init__.py @@ -1,5 +1,4 @@ """Pynecone middleware.""" from .hydrate_middleware import HydrateMiddleware -from .logging_middleware import LoggingMiddleware from .middleware import Middleware diff --git a/pynecone/middleware/logging_middleware.py b/pynecone/middleware/logging_middleware.py deleted file mode 100644 index 32e6b56af..000000000 --- a/pynecone/middleware/logging_middleware.py +++ /dev/null @@ -1,38 +0,0 @@ -"""Logging middleware.""" -from __future__ import annotations - -from typing import TYPE_CHECKING - -from pynecone.event import Event -from pynecone.middleware.middleware import Middleware -from pynecone.state import State, StateUpdate - -if TYPE_CHECKING: - from pynecone.app import App - - -class LoggingMiddleware(Middleware): - """Middleware to log requests and responses.""" - - async def preprocess(self, app: App, state: State, event: Event): - """Preprocess the event. - - Args: - app: The app to apply the middleware to. - state: The client state. - event: The event to preprocess. - """ - print(f"Event {event}") - - async def postprocess( - self, app: App, state: State, event: Event, update: StateUpdate - ): - """Postprocess the event. - - Args: - app: The app to apply the middleware to. - state: The client state. - event: The event to postprocess. - update: The current state update. - """ - print(f"Update {update}") diff --git a/pynecone/pc.py b/pynecone/pc.py index 56303aa2d..c118a3b20 100644 --- a/pynecone/pc.py +++ b/pynecone/pc.py @@ -9,8 +9,7 @@ import typer from pynecone import constants from pynecone.config import get_config -from pynecone.telemetry import pynecone_telemetry -from pynecone.utils import build, console, exec, prerequisites, processes +from pynecone.utils import build, console, exec, prerequisites, processes, telemetry # Create the app. cli = typer.Typer() @@ -49,10 +48,10 @@ def init( prerequisites.create_config(app_name) prerequisites.initialize_app_directory(app_name, template) build.set_pynecone_project_hash() - pynecone_telemetry("init", get_config().telemetry_enabled) + telemetry.send("init", get_config().telemetry_enabled) else: build.set_pynecone_project_hash() - pynecone_telemetry("reinit", get_config().telemetry_enabled) + telemetry.send("reinit", get_config().telemetry_enabled) # Initialize the .gitignore. prerequisites.initialize_gitignore() @@ -123,7 +122,7 @@ def run( assert frontend_cmd and backend_cmd, "Invalid env" # Post a telemetry event. - pynecone_telemetry(f"run-{env.value}", get_config().telemetry_enabled) + telemetry.send(f"run-{env.value}", get_config().telemetry_enabled) # Run the frontend and backend. try: @@ -210,7 +209,7 @@ def export( ) # Post a telemetry event. - pynecone_telemetry("export", get_config().telemetry_enabled) + telemetry.send("export", get_config().telemetry_enabled) if zipping: console.rule( diff --git a/pynecone/utils/exec.py b/pynecone/utils/exec.py index e76fbc653..fd3e11c71 100644 --- a/pynecone/utils/exec.py +++ b/pynecone/utils/exec.py @@ -14,7 +14,7 @@ from pynecone import constants from pynecone.config import get_config from pynecone.utils import console, prerequisites, processes from pynecone.utils.build import export_app, setup_backend, setup_frontend -from pynecone.watch import AssetFolderWatch +from pynecone.utils.watch import AssetFolderWatch if TYPE_CHECKING: from pynecone.app import App diff --git a/pynecone/telemetry.py b/pynecone/utils/telemetry.py similarity index 97% rename from pynecone/telemetry.py rename to pynecone/utils/telemetry.py index 73b4b493f..ef60bd83e 100644 --- a/pynecone/telemetry.py +++ b/pynecone/utils/telemetry.py @@ -67,7 +67,7 @@ class Telemetry(Base): python_version: str = get_python_version() -def pynecone_telemetry(event: str, telemetry_enabled: bool) -> None: +def send(event: str, telemetry_enabled: bool) -> None: """Send anonymous telemetry for Pynecone. Args: diff --git a/pynecone/watch.py b/pynecone/utils/watch.py similarity index 100% rename from pynecone/watch.py rename to pynecone/utils/watch.py diff --git a/tests/test_telemetry.py b/tests/test_telemetry.py index 533b70d3c..27c8d4de9 100644 --- a/tests/test_telemetry.py +++ b/tests/test_telemetry.py @@ -1,6 +1,6 @@ import json -from pynecone import telemetry +from pynecone.utils import telemetry def versiontuple(v):