Loading api_process_findings.py +2 −2 Original line number Diff line number Diff line Loading @@ -705,8 +705,8 @@ def show_finding(folder_name: str, finding_index: int): def full_processing_background_wrapper(folder_name: str): from app import create_app with create_app().app_context(): from app import get_pre_initialized_app with get_pre_initialized_app().app_context(): full_processing_native(folder_name) Loading app.py +9 −5 Original line number Diff line number Diff line Loading @@ -18,7 +18,11 @@ mimetypes.add_type('application/javascript', '.js') mimetypes.add_type('text/css', '.css') def create_app(skip_pwndoc: bool = False): def get_pre_initialized_app(skip_pwndoc: bool = False): return create_app(skip_pwndoc=skip_pwndoc, is_pre_initialized=True) def create_app(skip_pwndoc: bool = False, is_pre_initialized: bool = False): from helpers.db_models import db from api_process_findings import bp as process_findings_bp Loading Loading @@ -52,7 +56,7 @@ def create_app(skip_pwndoc: bool = False): # db.create_all() need to happen single threaded (or staggered) main_thread = pwndoc_db_init.determine_main_thread() main_thread = is_pre_initialized or pwndoc_db_init.determine_main_thread() if main_thread: with app.app_context(): db.create_all() Loading @@ -65,7 +69,7 @@ def create_app(skip_pwndoc: bool = False): Path(app.config['UPLOAD_FOLDER']).mkdir(parents=True, exist_ok=True) if main_thread: single_threaded_init(app, skip_pwndoc) single_threaded_init(app, skip_pwndoc, is_pre_initialized) app.register_blueprint(process_findings_bp, url_prefix=f'{config.IMPORTER_URL_PREFIX}/findings') app.register_blueprint(templates_bp, url_prefix=f'{config.IMPORTER_URL_PREFIX}/templates') Loading Loading @@ -106,14 +110,14 @@ def create_app(skip_pwndoc: bool = False): return app def single_threaded_init(app, skip_pwndoc: bool): def single_threaded_init(app, skip_pwndoc: bool, is_pre_initialized: bool = False): from helpers.template_grouping import TemplateGrouping import pwndoc_db_init pwndoc_db_init.PwnDocUpdate.setup_scan2report_plugin_folder() # This will fail if run second time. TemplateGrouping.add_new_gids() if skip_pwndoc: if skip_pwndoc or is_pre_initialized: return pwndoc_db_init.InitialData.setup_first_user() Loading tests/conftest.py +2 −2 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ import string import pytest from loguru import logger from app import create_app from app import create_app, get_pre_initialized_app from helpers.time_helper import current_timestamp import config Loading @@ -30,7 +30,7 @@ def app(): config.PWNDOC_URL = 'https://localhost:8442' if PWNDOC_DANGER_OVERRIDE else config.PWNDOC_NO_CONNECTION_PLACEHOLDER app = create_app(skip_pwndoc=not PWNDOC_DANGER_OVERRIDE) app = get_pre_initialized_app(skip_pwndoc=not PWNDOC_DANGER_OVERRIDE) app.config.update({ "TESTING": True, }) Loading tests/profiling_test.py +2 −2 Original line number Diff line number Diff line import api_process_findings from app import create_app from app import create_app, get_pre_initialized_app with create_app().test_request_context('/make_report/2017', data={'format': 'short'}): with get_pre_initialized_app().test_request_context('/make_report/2017', data={'format': 'short'}): api_process_findings.upload_scan_findings_to_pwndoc('2022-09-22T12-57-38_findings_import_4b7d008f') Loading
api_process_findings.py +2 −2 Original line number Diff line number Diff line Loading @@ -705,8 +705,8 @@ def show_finding(folder_name: str, finding_index: int): def full_processing_background_wrapper(folder_name: str): from app import create_app with create_app().app_context(): from app import get_pre_initialized_app with get_pre_initialized_app().app_context(): full_processing_native(folder_name) Loading
app.py +9 −5 Original line number Diff line number Diff line Loading @@ -18,7 +18,11 @@ mimetypes.add_type('application/javascript', '.js') mimetypes.add_type('text/css', '.css') def create_app(skip_pwndoc: bool = False): def get_pre_initialized_app(skip_pwndoc: bool = False): return create_app(skip_pwndoc=skip_pwndoc, is_pre_initialized=True) def create_app(skip_pwndoc: bool = False, is_pre_initialized: bool = False): from helpers.db_models import db from api_process_findings import bp as process_findings_bp Loading Loading @@ -52,7 +56,7 @@ def create_app(skip_pwndoc: bool = False): # db.create_all() need to happen single threaded (or staggered) main_thread = pwndoc_db_init.determine_main_thread() main_thread = is_pre_initialized or pwndoc_db_init.determine_main_thread() if main_thread: with app.app_context(): db.create_all() Loading @@ -65,7 +69,7 @@ def create_app(skip_pwndoc: bool = False): Path(app.config['UPLOAD_FOLDER']).mkdir(parents=True, exist_ok=True) if main_thread: single_threaded_init(app, skip_pwndoc) single_threaded_init(app, skip_pwndoc, is_pre_initialized) app.register_blueprint(process_findings_bp, url_prefix=f'{config.IMPORTER_URL_PREFIX}/findings') app.register_blueprint(templates_bp, url_prefix=f'{config.IMPORTER_URL_PREFIX}/templates') Loading Loading @@ -106,14 +110,14 @@ def create_app(skip_pwndoc: bool = False): return app def single_threaded_init(app, skip_pwndoc: bool): def single_threaded_init(app, skip_pwndoc: bool, is_pre_initialized: bool = False): from helpers.template_grouping import TemplateGrouping import pwndoc_db_init pwndoc_db_init.PwnDocUpdate.setup_scan2report_plugin_folder() # This will fail if run second time. TemplateGrouping.add_new_gids() if skip_pwndoc: if skip_pwndoc or is_pre_initialized: return pwndoc_db_init.InitialData.setup_first_user() Loading
tests/conftest.py +2 −2 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ import string import pytest from loguru import logger from app import create_app from app import create_app, get_pre_initialized_app from helpers.time_helper import current_timestamp import config Loading @@ -30,7 +30,7 @@ def app(): config.PWNDOC_URL = 'https://localhost:8442' if PWNDOC_DANGER_OVERRIDE else config.PWNDOC_NO_CONNECTION_PLACEHOLDER app = create_app(skip_pwndoc=not PWNDOC_DANGER_OVERRIDE) app = get_pre_initialized_app(skip_pwndoc=not PWNDOC_DANGER_OVERRIDE) app.config.update({ "TESTING": True, }) Loading
tests/profiling_test.py +2 −2 Original line number Diff line number Diff line import api_process_findings from app import create_app from app import create_app, get_pre_initialized_app with create_app().test_request_context('/make_report/2017', data={'format': 'short'}): with get_pre_initialized_app().test_request_context('/make_report/2017', data={'format': 'short'}): api_process_findings.upload_scan_findings_to_pwndoc('2022-09-22T12-57-38_findings_import_4b7d008f')