Compare commits
2 Commits
600edca8cd
...
b772ce8b7e
Author | SHA1 | Date | |
---|---|---|---|
b772ce8b7e | |||
8b925f852d |
BIN
dist/rupload-1.3.37-py3-none-any.whl
vendored
BIN
dist/rupload-1.3.37-py3-none-any.whl
vendored
Binary file not shown.
BIN
dist/rupload-1.3.37.tar.gz
vendored
BIN
dist/rupload-1.3.37.tar.gz
vendored
Binary file not shown.
@ -1,16 +1,20 @@
|
|||||||
import aiohttp
|
|
||||||
from aiohttp import web
|
|
||||||
import asyncio
|
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
|
from aiohttp import web
|
||||||
|
|
||||||
|
MAX_FILE_SIZE = 1024 * 1024 * 50 # 50Mb
|
||||||
|
UPLOAD_FOLDER_QUOTA = 10 * 1024 * 1024 * 1024 # 10Gb
|
||||||
|
UPLOAD_URL = "/"
|
||||||
|
UPLOAD_PATH = "uploads"
|
||||||
|
|
||||||
|
|
||||||
class Rupload(web.Application):
|
class Rupload(web.Application):
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
upload_url: str = "/uploads/",
|
upload_url: str = UPLOAD_URL,
|
||||||
upload_path: str = "uploads",
|
upload_path: str = UPLOAD_PATH,
|
||||||
max_file_size: int = 1024 * 1024 * 50,
|
max_file_size: int = MAX_FILE_SIZE,
|
||||||
upload_folder_quota: int = 10 * 1024 * 1024 * 1024,
|
upload_folder_quota: int = UPLOAD_FOLDER_QUOTA,
|
||||||
):
|
):
|
||||||
self.upload_path = upload_path.rstrip("/")
|
self.upload_path = upload_path.rstrip("/")
|
||||||
self.max_file_size = max_file_size
|
self.max_file_size = max_file_size
|
||||||
@ -176,6 +180,8 @@ def get_images(path):
|
|||||||
".gif",
|
".gif",
|
||||||
".jpeg",
|
".jpeg",
|
||||||
".bmp",
|
".bmp",
|
||||||
|
".webp",
|
||||||
|
".svg",
|
||||||
]:
|
]:
|
||||||
images.append(image)
|
images.append(image)
|
||||||
return images
|
return images
|
||||||
@ -247,9 +253,7 @@ async def handle_upload(request: web.Request):
|
|||||||
print(f"File {filename} deleted.")
|
print(f"File {filename} deleted.")
|
||||||
return web.Response(
|
return web.Response(
|
||||||
status=413,
|
status=413,
|
||||||
text="File is too large. Maximum file size is {} bytes.".format(
|
text=f"File is too large. Maximum file size is {app.max_file_size} bytes.",
|
||||||
app.max_file_size
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
f.write(chunk)
|
f.write(chunk)
|
||||||
print(f"File {filename} uploaded successfully.")
|
print(f"File {filename} uploaded successfully.")
|
||||||
@ -281,7 +285,9 @@ async def handle_index(request: web.Request):
|
|||||||
message += f'<a href="{url}">'
|
message += f'<a href="{url}">'
|
||||||
message += f"{url}</a>"
|
message += f"{url}</a>"
|
||||||
if not message:
|
if not message:
|
||||||
message = "Any file type is allowed thus also binary/executable or source files."
|
message = (
|
||||||
|
"Any file type is allowed thus also binary/executable or source files."
|
||||||
|
)
|
||||||
if message:
|
if message:
|
||||||
message += "<br /><br />"
|
message += "<br /><br />"
|
||||||
html_content = html_content.replace("[message]", message)
|
html_content = html_content.replace("[message]", message)
|
||||||
@ -289,10 +295,10 @@ async def handle_index(request: web.Request):
|
|||||||
|
|
||||||
|
|
||||||
def create_app(
|
def create_app(
|
||||||
upload_url: str = "/",
|
upload_url: str = UPLOAD_URL,
|
||||||
upload_path: str = "upload",
|
upload_path: str = UPLOAD_PATH,
|
||||||
max_file_size: int = 1024 * 1024 * 50,
|
max_file_size: int = MAX_FILE_SIZE,
|
||||||
upload_folder_quota: int = 10 * 1024 * 1024 * 1024,
|
upload_folder_quota: int = UPLOAD_FOLDER_QUOTA,
|
||||||
):
|
):
|
||||||
app = Rupload(
|
app = Rupload(
|
||||||
upload_url=upload_url,
|
upload_url=upload_url,
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
|
|
||||||
from rupload.app import create_app
|
from rupload.app import create_app
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user