refactor: unify project handling (cmdline = projects/default)

This commit is contained in:
Dobin
2024-03-29 20:29:33 +00:00
parent 70eb0bf798
commit 4410685d0d
7 changed files with 53 additions and 44 deletions
+28 -1
View File
@@ -1,14 +1,22 @@
import logging
import shutil
from model.defs import *
from model.payload import Payload
from model.exehost import ExeHost
from model.settings import Settings
from model.carrier import Carrier
logger = logging.getLogger("Project")
class WebProject():
def __init__(self, name: str, settings: Settings):
self.name = name
self.settings: Settings = settings
self.comment: str = ""
class Project():
def __init__(self, settings: Settings):
self.name: str = ""
@@ -26,3 +34,22 @@ class Project():
self.payload.init()
self.exe_host.init()
self.carrier.init()
def prepare_project(project_name, settings):
src = "{}{}/".format(PATH_CARRIER, settings.source_style.value)
dst = "{}{}/".format(PATH_WEB_PROJECT, project_name)
# delete all files in dst directory
for file in os.listdir(dst):
if file == "project.pickle":
continue
if file.startswith("."):
continue
os.remove(dst + file)
# copy *.c *.h files from src directory to dst directory
for file in os.listdir(src):
if file.endswith(".c") or file.endswith(".h"):
logger.info("Copy {} to {}".format(src + file, dst))
shutil.copy2(src + file, dst)