Allow easy customization of filename generation

Added a new file called functions.py which contains user-customizable
functions, instead of requiring the user to edit imgupload.py.
This commit is contained in:
BBaoVanC 2020-09-02 17:14:28 -05:00
parent f0bb30a747
commit 841bb513d3
Signed by: bbaovanc
GPG Key ID: 18089E4E3CCF1D3A
2 changed files with 10 additions and 14 deletions

8
functions.py Normal file
View File

@ -0,0 +1,8 @@
import string
import random
def generate_name():
chars = string.ascii_letters + string.digits # uppercase, lowercase, and numbers
name = ''.join((random.choice(chars) for i in range(8))) # generate name
return name

View File

@ -2,15 +2,12 @@ from flask import Flask, request, jsonify, abort, Response
from cryptography.fernet import Fernet from cryptography.fernet import Fernet
from flask_api import status from flask_api import status
from pathlib import Path from pathlib import Path
import string
import random import random
import os import os
import datetime import datetime
import settings # app settings (such as allowed extensions) import settings # app settings (such as allowed extensions)
import functions # custom functions
ALPHANUMERIC = string.ascii_letters + string.digits # uppercase, lowercase, and numbers
app = Flask(__name__) # app is the app app = Flask(__name__) # app is the app
@ -22,15 +19,6 @@ def allowed_extension(testext):
return False return False
def generate_name(extension):
namefound = False
while not namefound:
fname = ''.join((random.choice(ALPHANUMERIC) for i in range(8))) + str(extension)
if not Path(fname).is_file():
namefound = True
return fname
def log_savelog(key, ip, savedname): def log_savelog(key, ip, savedname):
if settings.SAVELOG_KEYPREFIX > 0: if settings.SAVELOG_KEYPREFIX > 0:
with open(settings.SAVELOG, "a+") as slogf: with open(settings.SAVELOG, "a+") as slogf:
@ -77,7 +65,7 @@ def upload():
fext = Path(f.filename).suffix # get the uploaded extension fext = Path(f.filename).suffix # get the uploaded extension
if allowed_extension(fext): # if the extension is allowed if allowed_extension(fext): # if the extension is allowed
print("Generating file with extension {0}".format(fext)) print("Generating file with extension {0}".format(fext))
fname = generate_name(fext) # generate file name fname = functions.generate_name() + fext # generate file name
print("Generated name: {0}".format(fname)) print("Generated name: {0}".format(fname))
if f: # if the uploaded image exists if f: # if the uploaded image exists