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

Unify filepaths to groups, aliases and profiles

parent ba16187d
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -17,9 +17,9 @@ from flask import Blueprint, render_template, request, redirect, url_for, curren
from werkzeug.utils import secure_filename
from werkzeug.utils import secure_filename


import config
import config
from helpers.disk_file_versioning import PROFILES_FILEPATH
from helpers.object_size import get_size
from helpers.object_size import get_size
from helpers.flask_response import basic_msg
from helpers.flask_response import basic_msg
from helpers.template_grouping import TemplateGrouping
from helpers.time_helper import current_timestamp
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
@@ -100,7 +100,7 @@ def get_audits_with_nice_names(include_file_formats: bool = True) -> Dict[str, s




def _list_profiles() -> List[str]:
def _list_profiles() -> List[str]:
    with open(os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, "profiles.json"), encoding="utf8") as f:
    with open(PROFILES_FILEPATH, encoding="utf8") as f:
        data: dict = json.load(f)
        data: dict = json.load(f)
    return list(data.keys())
    return list(data.keys())


+7 −3
Original line number Original line Diff line number Diff line
@@ -3,13 +3,17 @@ from typing import Optional, List


import config
import config


GROUPS_FILEPATH = os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, 'groups.json')
PROFILES_FILEPATH = os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, 'profiles.json')
ALIASES_FILEPATH = os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, 'aliases.json')



class DiskFileVersioning:
class DiskFileVersioning:
    def __init__(self):
    def __init__(self):
        self._mappings = {
        self._mappings = {
            'groups':   os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, 'groups.json'),
            'groups':   GROUPS_FILEPATH,
            'profiles': os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, 'profiles.json'),
            'profiles': PROFILES_FILEPATH,
            'aliases':  os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, 'aliases.json'),
            'aliases': ALIASES_FILEPATH,
        }
        }


    def _file_name_to_path(self, filename: str) -> Optional[str]:
    def _file_name_to_path(self, filename: str) -> Optional[str]:
+4 −6
Original line number Original line Diff line number Diff line
@@ -6,9 +6,7 @@ import config
from helpers.custom_logging import FlashLog
from helpers.custom_logging import FlashLog
from helpers.file_utils import relative_path, json_dump, json_safe_load
from helpers.file_utils import relative_path, json_dump, json_safe_load
from flask import abort, Response
from flask import abort, Response

from helpers.disk_file_versioning import GROUPS_FILEPATH, ALIASES_FILEPATH
GROUPS_FILE_PATH = os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, "groups.json")
ALIAS_FILE_PATH = os.path.join(config.SCAN2REPORT_PLUGINS_FOLDER, "aliases.json")




class TemplateAliasing:
class TemplateAliasing:
@@ -21,7 +19,7 @@ class TemplateAliasing:


    @staticmethod
    @staticmethod
    def _load_alias_data() -> dict:
    def _load_alias_data() -> dict:
        alias_data = json_safe_load(ALIAS_FILE_PATH)
        alias_data = json_safe_load(ALIASES_FILEPATH)
        if alias_data is None:
        if alias_data is None:
            FlashLog.error("Alias file doesn't exist or is invalid JSON. Manual fix is needed.")
            FlashLog.error("Alias file doesn't exist or is invalid JSON. Manual fix is needed.")
            abort(500)
            abort(500)
@@ -53,7 +51,7 @@ class TemplateGrouping:


    @staticmethod
    @staticmethod
    def _load_group_data() -> dict:
    def _load_group_data() -> dict:
        group_data = json_safe_load(GROUPS_FILE_PATH)
        group_data = json_safe_load(GROUPS_FILEPATH)
        if group_data is None:
        if group_data is None:
            FlashLog.error("Plugins file doesn't exist or is invalid JSON. Manual fix is needed.")
            FlashLog.error("Plugins file doesn't exist or is invalid JSON. Manual fix is needed.")
            abort(500)
            abort(500)
@@ -104,5 +102,5 @@ class TemplateGrouping:


            single_group["gid"] = gid + random_suffix
            single_group["gid"] = gid + random_suffix


        json_dump(group_data, GROUPS_FILE_PATH)  # todo: compact JSON print here would be better readable
        json_dump(group_data, GROUPS_FILEPATH)  # todo: compact JSON print here would be better readable
        cls.refresh()
        cls.refresh()