Can i have two different sets of app configurations?

Issue

I have made a flask server REST API that does an upload to a specific folder.
The upload must comply to a specific file extension, and must be in a specific folder.

So i made these two app.configs:

app.config['UPLOAD_EXTENSIONS'] = ['.stp', '.step']
app.config['UPLOAD_PATH'] = 'uploads'

However, i want to make a new route, for a new upload of a specific file extension to another folder.

So can i have two sets of app.config['UPLOAD_EXTENSIONS'] and app.config['UPLOAD_PATH']?

One set will be for extension1 in folder1 and the other set for extension2 in folder2.

Solution

Try using the extension Flask-Uploads .

Or, proceeding from the file format, form a subdirectory in your UPLOAD_PATH.

import os


def select_directory(filename: str) -> str:
    file_format = filename.split('.')[1]
    your_path1 = 'path1'
    your_path2 = 'path2'

    if file_format in ('your format1', 'your format2'):
        full_path = os.path.join(app.config['UPLOAD_FOLDER'], your_path1, filename)
    else:
        full_path = os.path.join(app.config['UPLOAD_FOLDER'], your_path2, filename)

    return full_path

Answered By – asanisimov

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published