mirror of
https://github.com/chatmail/relay.git
synced 2026-05-10 16:04:37 +00:00
Skip www_folder if merge conflict marker found
This commit is contained in:
committed by
missytake
parent
5c1d7763d0
commit
acf2bdefdf
@@ -681,7 +681,7 @@ def deploy_chatmail(config_path: Path, disable_mail: bool) -> None:
|
|||||||
check_config(config)
|
check_config(config)
|
||||||
mail_domain = config.mail_domain
|
mail_domain = config.mail_domain
|
||||||
|
|
||||||
from .www import build_webpages, get_paths
|
from .www import build_webpages, find_merge_conflict, get_paths
|
||||||
|
|
||||||
server.group(name="Create vmail group", group="vmail", system=True)
|
server.group(name="Create vmail group", group="vmail", system=True)
|
||||||
server.user(name="Create vmail user", user="vmail", group="vmail", system=True)
|
server.user(name="Create vmail user", user="vmail", group="vmail", system=True)
|
||||||
@@ -823,6 +823,8 @@ def deploy_chatmail(config_path: Path, disable_mail: bool) -> None:
|
|||||||
# if www_folder was set to a non-existing folder, skip upload
|
# if www_folder was set to a non-existing folder, skip upload
|
||||||
if not www_path.is_dir():
|
if not www_path.is_dir():
|
||||||
logger.warning("Building web pages is disabled in chatmail.ini, skipping")
|
logger.warning("Building web pages is disabled in chatmail.ini, skipping")
|
||||||
|
elif (path := find_merge_conflict(src_dir)) is not None:
|
||||||
|
logger.warning(f"Merge conflict found in {path}, skipping")
|
||||||
else:
|
else:
|
||||||
# if www_folder is a hugo page, build it
|
# if www_folder is a hugo page, build it
|
||||||
if build_dir:
|
if build_dir:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import time
|
|||||||
import traceback
|
import traceback
|
||||||
import webbrowser
|
import webbrowser
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import re
|
||||||
|
|
||||||
import markdown
|
import markdown
|
||||||
from chatmaild.config import read_config
|
from chatmaild.config import read_config
|
||||||
@@ -12,6 +13,9 @@ from jinja2 import Template
|
|||||||
from .genqr import gen_qr_png_data
|
from .genqr import gen_qr_png_data
|
||||||
|
|
||||||
|
|
||||||
|
_MERGE_CONFLICT_RE = re.compile(r"^<<<<<<<.+^=======.+^>>>>>>>", re.DOTALL | re.MULTILINE)
|
||||||
|
|
||||||
|
|
||||||
def snapshot_dir_stats(somedir):
|
def snapshot_dir_stats(somedir):
|
||||||
d = {}
|
d = {}
|
||||||
for path in somedir.iterdir():
|
for path in somedir.iterdir():
|
||||||
@@ -116,6 +120,17 @@ def _build_webpages(src_dir, build_dir, config):
|
|||||||
return build_dir
|
return build_dir
|
||||||
|
|
||||||
|
|
||||||
|
def find_merge_conflict(src_dir) -> Path:
|
||||||
|
assert src_dir.exists(), src_dir
|
||||||
|
result = None
|
||||||
|
for path in src_dir.iterdir():
|
||||||
|
if path.suffix in [".css", ".html", ".md"]:
|
||||||
|
if _MERGE_CONFLICT_RE.search(path.read_text()):
|
||||||
|
result = path
|
||||||
|
break
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
path = importlib.resources.files(__package__)
|
path = importlib.resources.files(__package__)
|
||||||
reporoot = path.joinpath("../../../").resolve()
|
reporoot = path.joinpath("../../../").resolve()
|
||||||
|
|||||||
Reference in New Issue
Block a user