Commit ff1466ad authored by Ondřej Borýsek's avatar Ondřej Borýsek
Browse files

Rework folder_in_upload_path

parent f63c0d21
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@ from helpers.time_helper import current_timestamp
from helpers.md_and_html_convertor import MdAndHTMLConvertor
from helpers.md_and_html_convertor import MdAndHTMLConvertor
import helpers.table_of_services
import helpers.table_of_services
from helpers.file_utils import relative_path, extract_fid_from_filename, json_safe_load, generate_random_folder_name, \
from helpers.file_utils import relative_path, extract_fid_from_filename, json_safe_load, generate_random_folder_name, \
    persistent_audit_scopes_file_path
    persistent_audit_scopes_file_path, folder_in_upload_path
from template_manager import PwndocTemplateManager
from template_manager import PwndocTemplateManager
from helpers.flask_multifile_upload import save_multiple_uploaded_files
from helpers.flask_multifile_upload import save_multiple_uploaded_files
import template_pwndoc
import template_pwndoc
@@ -146,7 +146,7 @@ class ProcessingSettings:
    @staticmethod
    @staticmethod
    def __get_folder_path(folder_name: str) -> str:
    def __get_folder_path(folder_name: str) -> str:
        assert folder_name == secure_filename(folder_name)
        assert folder_name == secure_filename(folder_name)
        return os.path.join(config.FLASK_UPLOAD_FOLDER, folder_name)
        return folder_in_upload_path(folder_name)


    def get_folder_path(self) -> str:
    def get_folder_path(self) -> str:
        return self.__get_folder_path(self.__folder_name)
        return self.__get_folder_path(self.__folder_name)
+5 −4
Original line number Original line Diff line number Diff line
@@ -11,6 +11,7 @@ from typing import Any, Optional, Dict, List, Set


from flask import current_app
from flask import current_app


import config
from helpers.custom_logging import FlashLog
from helpers.custom_logging import FlashLog
from config import ALLOWED_SCANNER_EXTENSIONS
from config import ALLOWED_SCANNER_EXTENSIONS
from loguru import logger
from loguru import logger
@@ -97,16 +98,16 @@ def generate_random_folder_name(label: str = "") -> str:




def generate_random_folder_path(label: str = "") -> str:
def generate_random_folder_path(label: str = "") -> str:
    return create_folder_in_upload_path(generate_random_folder_name(label))
    return folder_in_upload_path(generate_random_folder_name(label), exists_ok=False)




def create_folder_in_upload_path(folder_name: str = "", exists_ok: bool = False) -> str:
def folder_in_upload_path(folder_name: str = "", exists_ok: bool = True) -> str:
    r_path = os.path.join(current_app.config['UPLOAD_FOLDER'], folder_name)
    r_path = os.path.join(config.FLASK_UPLOAD_FOLDER, folder_name)
    Path(r_path).mkdir(parents=True, exist_ok=exists_ok)
    Path(r_path).mkdir(parents=True, exist_ok=exists_ok)
    return r_path
    return r_path




def persistent_audit_scopes_file_path(audit_id: str) -> str:
def persistent_audit_scopes_file_path(audit_id: str) -> str:
    folder_path = create_folder_in_upload_path(f"audit_{audit_id}", exists_ok=True)
    folder_path = folder_in_upload_path(f"audit_{audit_id}")
    file_path = os.path.join(folder_path, "services.json")
    file_path = os.path.join(folder_path, "services.json")
    return file_path
    return file_path