add webp support for uploadable images
This commit is contained in:
@ -19,6 +19,7 @@ from owrx.breadcrumb import Breadcrumb, BreadcrumbItem
|
||||
from owrx.controllers.settings import SettingsBreadcrumb
|
||||
import shutil
|
||||
import os
|
||||
import re
|
||||
from glob import glob
|
||||
|
||||
import logging
|
||||
@ -175,7 +176,7 @@ class GeneralSettingsController(SettingsFormController):
|
||||
config = CoreConfig()
|
||||
if data[image_id] == "restore":
|
||||
# remove all possible file extensions
|
||||
for ext in ["png", "jpg"]:
|
||||
for ext in ["png", "jpg", "webp"]:
|
||||
try:
|
||||
os.unlink("{}/{}.{}".format(config.get_data_directory(), image_id, ext))
|
||||
except FileNotFoundError:
|
||||
@ -184,11 +185,17 @@ class GeneralSettingsController(SettingsFormController):
|
||||
if not data[image_id].startswith(image_id):
|
||||
logger.warning("invalid file name: %s", data[image_id])
|
||||
else:
|
||||
# get file extension (luckily, all options are three characters long)
|
||||
ext = data[image_id][-3:]
|
||||
data_file = "{}/{}.{}".format(config.get_data_directory(), image_id, ext)
|
||||
temporary_file = "{}/{}".format(config.get_temporary_directory(), data[image_id])
|
||||
shutil.copy(temporary_file, data_file)
|
||||
# get file extension (at least 3 characters)
|
||||
# should be all lowercase since they are set by the upload script
|
||||
pattern = re.compile(".*\\.([a-z]{3,})$")
|
||||
matches = pattern.match(data[image_id])
|
||||
if matches is None:
|
||||
logger.warning("could not determine file extension for %s", image_id)
|
||||
else:
|
||||
ext = matches.group(1)
|
||||
data_file = "{}/{}.{}".format(config.get_data_directory(), image_id, ext)
|
||||
temporary_file = "{}/{}".format(config.get_temporary_directory(), data[image_id])
|
||||
shutil.copy(temporary_file, data_file)
|
||||
del data[image_id]
|
||||
# remove any accumulated temporary files on save
|
||||
for file in glob("{}/{}*".format(config.get_temporary_directory(), image_id)):
|
||||
|
Reference in New Issue
Block a user