From 2df30b9c87553b2f5fa2bbe760ea36f82a178136 Mon Sep 17 00:00:00 2001 From: Zaine Date: Thu, 7 May 2026 16:36:12 +0100 Subject: [PATCH] changes 4 --- authoring_server.py | 4 +++- posts/posts-list.org | 2 +- sitemap.org | 4 ++-- tests/test_authoring_server.py | 9 +++++++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/authoring_server.py b/authoring_server.py index c1e2191..28b4ca8 100755 --- a/authoring_server.py +++ b/authoring_server.py @@ -34,7 +34,9 @@ def looks_like_content_root(path: Path) -> bool: def resolve_root() -> Path: env_root = os.environ.get("AUTHOR_ROOT") if env_root: - return Path(env_root).expanduser().resolve() + resolved = Path(env_root).expanduser().resolve() + if looks_like_content_root(resolved): + return resolved candidates = [ Path.cwd(), Path(__file__).resolve().parent, diff --git a/posts/posts-list.org b/posts/posts-list.org index 025867a..cc49ae4 100755 --- a/posts/posts-list.org +++ b/posts/posts-list.org @@ -4,7 +4,7 @@ See the categories: @@html:Categories@@ * Posts: -- [[file:career/career-list.org][Career List]] @@html:07-05-2026 16:31@@ +- [[file:career/career-list.org][Career List]] @@html:07-05-2026 16:35@@ - [[file:posts-list.sync-conflict-20260417-233432-VT6366A.org][Posts List]] @@html:14-04-2026 16:36@@ - [[file:career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]] @@html:11-03-2026 17:18@@ @@html:@@ @@html:@@ - [[file:career/javascript.org][Understands the Javascript language]] @@html:11-03-2026 16:52@@ @@html:@@ @@html:@@ diff --git a/sitemap.org b/sitemap.org index 2789160..a3e59e4 100755 --- a/sitemap.org +++ b/sitemap.org @@ -11,12 +11,12 @@ - [[file:tags/notes.org][Tag: notes]] - [[file:tags/review.org][Tag: review]] - [[file:tags/website.org][Tag: website]] - - [[file:tags/update.org][Tag: update]] - [[file:tags/life.org][Tag: life]] - [[file:tags/education.org][Tag: education]] + - [[file:tags/update.org][Tag: update]] - [[file:tags/insights.org][Tag: insights]] - - [[file:tags/reading.org][Tag: reading]] - [[file:tags/emacs.org][Tag: emacs]] + - [[file:tags/reading.org][Tag: reading]] - [[file:tags/maths.org][Tag: maths]] - home - [[file:home/countdown.org][Countdown]] diff --git a/tests/test_authoring_server.py b/tests/test_authoring_server.py index 7ec39e8..b75b532 100755 --- a/tests/test_authoring_server.py +++ b/tests/test_authoring_server.py @@ -1,3 +1,4 @@ +import os import tempfile import unittest from datetime import datetime @@ -42,6 +43,14 @@ class AuthoringServerTestCase(unittest.TestCase): class UtilityTests(AuthoringServerTestCase): + def test_resolve_root_ignores_invalid_author_root(self): + wrong_root = self.root / "empty" + wrong_root.mkdir() + (self.root / "authoring_server.py").write_text("", encoding="utf-8") + + with mock.patch.dict(os.environ, {"AUTHOR_ROOT": str(wrong_root)}), mock.patch.object(server.Path, "cwd", return_value=self.root): + self.assertEqual(server.resolve_root(), self.root) + def test_slugify_normalises_text_and_keeps_fallback(self): self.assertEqual(server.slugify("Hello, Org Web!"), "hello-org-web") self.assertEqual(server.slugify(" "), "untitled")