diff --git a/.gitignore b/.gitignore index b6cc594..020dbc2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,16 +4,19 @@ bak/ tools/ doc/ +projects/* +!projects/default/ +!projects/default/** + data/binary/exes_more/ data/source/payload/ +data/binary/exes/* log-* *.verify.exe *.verify.dll *.infected.exe -projects/* *.test.exe -data/binary/exes/* main.obj mlink$.lnk diff --git a/app/storage.py b/app/storage.py index 1344dc6..7498d07 100644 --- a/app/storage.py +++ b/app/storage.py @@ -1,52 +1,50 @@ import pickle import os -import yaml import pickle import logging from typing import List, Tuple from model.defs import * -from model.project import WebProject - +from model.project import Settings logger = logging.getLogger("Storage") + class Storage(): def __init__(self): pass - def get_projects(self) -> List[WebProject]: - projects: List[WebProject] = [] + def get_project_settings(self) -> List[Settings]: + project_settings: List[Settings] = [] for project_name in os.listdir(PATH_WEB_PROJECT): - project = self.get_project(project_name) - if project is None: + project_setting = self.get_project_setting(project_name) + if project_setting is None: continue - projects.append(project) - return projects + project_settings.append(project_setting) + return project_settings - def get_project(self, project_name: str) -> WebProject: - logger.debug("Load project: {}".format(project_name)) + def get_project_setting(self, project_name: str) -> Settings| None: path = "{}/{}".format(PATH_WEB_PROJECT, project_name) json_path = "{}/project.pickle".format(path) if not os.path.exists(json_path): return None + logger.info("Loading project from: {}".format(json_path)) with open(json_path, "rb") as f: - project = pickle.load(f) - return project + settings = pickle.load(f) + return settings - def add_project(self, project: WebProject): - # directories and contents - os.makedirs(PATH_WEB_PROJECT + project.name, exist_ok=True) - with open("{}/{}/project.pickle".format(PATH_WEB_PROJECT, project.name), "wb") as f: - pickle.dump(project, f) + def add_project_setting(self, settings: Settings): + os.makedirs(PATH_WEB_PROJECT + settings.project_name, exist_ok=True) + with open("{}/{}/project.pickle".format(PATH_WEB_PROJECT, settings.project_name), "wb") as f: + pickle.dump(settings, f) - def save_project(self, project: WebProject): - with open("{}/{}/project.pickle".format(PATH_WEB_PROJECT, project.name), "wb") as f: - pickle.dump(project, f) + def save_project_settings(self, settings: Settings): + with open("{}/{}/project.pickle".format(PATH_WEB_PROJECT, settings.project_name), "wb") as f: + pickle.dump(settings, f) -storage = Storage() \ No newline at end of file +storage = Storage() diff --git a/app/templates/dev.html b/app/templates/dev.html deleted file mode 100644 index f1bb0b0..0000000 --- a/app/templates/dev.html +++ /dev/null @@ -1,31 +0,0 @@ - - -
- {% include 'header.html' %} - - - {% include 'navigation.html' %} - -| {{ file['name']}} | -{{file["date"]}} | -{{file["info"]}} | -
{{log}}
-
-