Compare commits

..

2 commits

Author SHA1 Message Date
b1c2dc9ce0 🚧 moving computers 2025-06-12 22:29:21 -04:00
87b9d6048d 🎨 run black 2025-06-12 21:36:07 -04:00
6 changed files with 47 additions and 9 deletions

View file

@ -85,8 +85,9 @@ def file_upload(request):
except UnicodeDecodeError: except UnicodeDecodeError:
return HttpResponse( return HttpResponse(
body=f"The file has been uploaded, but it is not a text file." body=f"The file has been uploaded, but it is not a text file."
f" Saved to {filepath}", f" Saved to {filepath}",
status_code=400) status_code=400,
)
else: else:
return TemplateResponse(request, "file_upload.html") return TemplateResponse(request, "file_upload.html")

View file

@ -208,12 +208,12 @@ class SpiderwebRouter(LocalServerMixin, MiddlewareMixin, RoutesMixin, FernetMixi
if self.media_dir: if self.media_dir:
self.media_dir = pathlib.Path(self.media_dir) self.media_dir = pathlib.Path(self.media_dir)
if not pathlib.Path(self.BASE_DIR / self.media_dir).exists(): if not pathlib.Path(self.BASE_DIR / self.media_dir).exists():
self.log.error(f"Media directory '{str(self.media_dir)}' does not exist.") self.log.error(
f"Media directory '{str(self.media_dir)}' does not exist."
)
raise ConfigError raise ConfigError
if self.debug: if self.debug:
self.add_route( self.add_route(rf"/{self.media_url}/<path:filename>", send_file)
rf"/{self.media_url}/<path:filename>", send_file
)
else: else:
self.log.warning( self.log.warning(
"`media_dir` is set, but `debug` is set to FALSE." "`media_dir` is set, but `debug` is set to FALSE."

View file

@ -9,7 +9,7 @@ from multipart import (
parse_form_data, parse_form_data,
is_form_request as m_is_form_request, is_form_request as m_is_form_request,
MultiDict, MultiDict,
MultipartPart MultipartPart,
) )
@ -58,7 +58,9 @@ class Request:
else: else:
if content_length: if content_length:
self.content = ( self.content = (
self.environ["wsgi.input"].read(content_length).decode(DEFAULT_ENCODING) self.environ["wsgi.input"]
.read(content_length)
.decode(DEFAULT_ENCODING)
) )
self.GET.update(parse_qs(self.content)) self.GET.update(parse_qs(self.content))

View file

@ -3,6 +3,7 @@ from wsgiref.util import setup_testing_defaults
from peewee import SqliteDatabase from peewee import SqliteDatabase
from spiderweb import SpiderwebRouter from spiderweb import SpiderwebRouter
from spiderweb.request import Request
class StartResponse: class StartResponse:
@ -28,3 +29,34 @@ def setup(**kwargs):
environ, environ,
StartResponse(), StartResponse(),
) )
class TestClient:
def __init__(self, **kwargs):
self.app, self.environ, self.start_response = setup(**kwargs)
...
class RequestFactory:
@staticmethod
def create_request(
environ=None,
content=None,
headers=None,
path=None,
server=None,
handler=None,
):
if not environ:
environ = {}
setup_testing_defaults(environ)
environ["HTTP_USER_AGENT"] = "Mozilla/5.0 (testrequest)"
environ["REMOTE_ADDR"] = "1.1.1.1"
return Request(
environ=environ,
content=content,
headers=headers,
path=path,
server=server,
handler=handler,
)

View file

@ -0,0 +1,3 @@
from io import BytesIO
...