mirror of
https://github.com/ae-utbm/sith.git
synced 2025-04-16 02:50:22 +00:00
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import pathlib
|
|
|
|
from django.apps import apps
|
|
from django.core.management.base import BaseCommand
|
|
from PIL import Image
|
|
|
|
|
|
class Command(BaseCommand):
|
|
def add_arguments(self, parser):
|
|
parser.add_argument("number", type=int)
|
|
parser.add_argument("path", type=pathlib.Path)
|
|
parser.add_argument("-f", "--force", action="store_true")
|
|
|
|
def handle(self, number: int, path: pathlib.Path, force: int, *args, **options):
|
|
if not path.exists() or path.is_dir():
|
|
self.stdout.write("input file does not exist.")
|
|
return
|
|
|
|
dest_path = pathlib.Path(
|
|
pathlib.Path(apps.get_app_config("core").path)
|
|
/ "static"
|
|
/ "core"
|
|
/ "img"
|
|
/ f"promo_{number}.png"
|
|
)
|
|
|
|
if dest_path.exists() and not force:
|
|
over = input("File already exists, do you want to overwrite it? (y/N):")
|
|
if over.lower() != "y":
|
|
return
|
|
try:
|
|
with Image.open(path) as im:
|
|
im.resize((120, 120)).save(dest_path, format="PNG")
|
|
|
|
self.stdout.write(
|
|
f"Promo logo moved and resized successfully at {dest_path}"
|
|
)
|
|
except IOError as ioe:
|
|
self.stderr.write(ioe)
|