secret = self.secret
if isinstance(secret, str):
secret = secret.encode()
- return urlsafe_b64encode(
- pbkdf2_hmac("sha512", value, secret, 221100)
- ).rstrip(b"=").decode("ascii")
+ return (
+ urlsafe_b64encode(pbkdf2_hmac("sha512", value, secret, 221100))
+ .rstrip(b"=")
+ .decode("ascii")
+ )
def uri_tail(self, path: Path) -> str:
return self.scramble(super().uri_tail(path))
self.secret = secret or token_urlsafe(64)
kwargs.setdefault("media_type", MEDIA_HTML)
FalconApp.__init__(self, **kwargs)
- TemplateTreeFileApp.__init__(
- self, self, base_dir, "/derp", "root"
- )
+ TemplateTreeFileApp.__init__(self, self, base_dir, "/derp", "root")
self.env = Environment(
loader=FileSystemLoader(self.base_dir),
autoescape=select_autoescape(),
"""
Basic static file wrapper.
"""
+
media_types_per_suffix: dict[str, str] = {
".html": MEDIA_HTML,
".js": MEDIA_JS,
index.html to "/" (root uri) to index.html and
a/index.html to "/a" (directory uri)
"""
+
@staticmethod
def is_ignored_filename(path):
return path.name.startswith(".")
return self.base_uri or "/"
index_suffix = "/index.html"
if uri_tail.endswith(index_suffix):
- uri_tail = uri_tail[:-len(index_suffix)]
+ uri_tail = uri_tail[: -len(index_suffix)]
return f"{self.base_uri}/{uri_tail.lstrip('/')}"
@staticmethod
def create_name(root_base_uri, base_uri):
if base_uri.startswith(root_base_uri):
- base_uri = base_uri[len(root_base_uri):]
+ base_uri = base_uri[len(root_base_uri) :]
return base_uri.replace("/", ".").strip(".")
def __init__(self, root, base_dir, base_uri="/", name=None):
def uri_tail(self, path: Path) -> str:
uri_tail = super().uri_tail(path)
if uri_tail.endswith(StaticTemplateFile.TEMPLATE_SUFFIX):
- uri_tail = uri_tail[:-len(StaticTemplateFile.TEMPLATE_SUFFIX)]
+ uri_tail = uri_tail[: -len(StaticTemplateFile.TEMPLATE_SUFFIX)]
return uri_tail
from .static import StaticTemplateFile, TreeFileApp
+
class StaticTag(StandaloneTag):
tags = {"static"}
-import asyncio
import json
import pickle
import sys
+from asyncio import gather
from asyncio.exceptions import CancelledError
from functools import partial
from traceback import print_exception
if callable(join_cb):
await join_cb()
try:
- await asyncio.gather(
+ await gather(
self.process_websocket(
self.conn, web_socket, **(process_websockets_kwargs or {})
),
)
async def on_websocket_master(self, req, web_socket):
- return await self.on_websocket(
- req,
- web_socket,
- f"{self.name}-master",
- {"recipients": self.get_master_recipients},
- )
+ return await self.on_websocket(
+ req,
+ web_socket,
+ f"{self.name}-master",
+ {"recipients": self.get_master_recipients},
+ )
def get_master_recipients(self, data):
return [
anyio==4.4.0
-black==24.4.2
+black==24.8.0
click==8.1.7
falcon==3.1.3
h11==0.14.0
jinja2-simple-tags==0.6.1
MarkupSafe==2.1.5
mypy-extensions==1.0.0
-packaging==24.0
+packaging==24.1
pathspec==0.12.1
platformdirs==4.2.2
python-dotenv==1.0.1
PyYAML==6.0.1
-redis==5.0.5
+redis==5.0.8
sniffio==1.3.1
-uvicorn==0.30.1
+uvicorn==0.30.5
uvloop==0.19.0
watchfiles==0.22.0
websockets==12.0