web.flask_app¶
flask_app.py
Flask web application for uploading and processing Tableau workbooks.
This application allows users to upload Tableau workbooks, which are then processed in the background. The progress of the processing is tracked and can be queried via a dedicated endpoint.
Key Features:
The application allows users to upload Tableau workbooks via a web form and processes these workbooks in the background using the process_twb function. It also includes progress tracking for ongoing processing tasks, enabling users to access progress information through the /progress endpoint.
Configuration:
Uploads are saved in the static/uploads directory, which is created if it does not exist.
Usage:
Run this module to start the Flask development server.
- web.flask_app.index()¶
Render the index page and handle file uploads.
If a file is uploaded, it is saved to the upload folder, and the processing function is started in a separate thread to maintain responsiveness of the application.
- Returns:
The rendered HTML of the index page.
- Return type:
str
- web.flask_app.progress()¶
Return the current progress of the file processing.
This function responds with a JSON object containing the current processing progress and the filename being processed.
- Returns:
A JSON response containing progress and filename.
- Return type:
jsonify
- web.flask_app.run_processing(filepath)¶
Processes a Tableau workbook file in the background.
This function calls the process_twb function to handle the processing of the specified Tableau workbook file. The processing is done using the filepath provided as an argument, with a predefined upload folder and a flag indicating the executable state.
- Parameters:
filepath (str) – The path to the Tableau workbook file to be processed.
- Returns:
None