From a80f3f7d8f956396aa715dca9e1c42d73a740eb0 Mon Sep 17 00:00:00 2001 From: ross-spencer Date: Wed, 17 Dec 2025 19:16:46 +0100 Subject: [PATCH 1/2] Update sqlitefid and pathlesstaken --- src/demystify/demystify.py | 12 +++++++++- src/demystify/libs/DemystifyAnalysisClass.py | 25 ++++++++++++++------ src/demystify/pathlesstaken | 2 +- src/demystify/sqlitefid | 2 +- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/demystify/demystify.py b/src/demystify/demystify.py index 0de2d7f..9e623d8 100644 --- a/src/demystify/demystify.py +++ b/src/demystify/demystify.py @@ -46,7 +46,17 @@ from .libs.outputhandlers.htmloutputclass import FormatAnalysisHTMLOutput from .libs.outputhandlers.roguesgalleryoutputclass import rogueoutputclass from .libs.outputhandlers.textoutputclass import FormatAnalysisTextOutput -from .sqlitefid.src.sqlitefid import sqlitefid + +# pylint: disable=E0401; unable to import (not needed for local tests). +# pylint: disable=C0413; import not at top of file. +# pylint: disable=C0411; order of third-party imports. +sys.path.insert(0, str(pathlib.Path("./src/demystify/sqlitefid/src/sqlitefid/"))) +print( + "PATH: %s %s", + os.path.exists(str(pathlib.Path("./src/demystify/sqlitefid/src/sqlitefid/"))), + file=sys.stderr, +) +import sqlitefid # noqa: E402 logging.basicConfig( format="%(asctime)-15s %(levelname)s :: %(filename)s:%(lineno)s:%(funcName)s() :: %(message)s", diff --git a/src/demystify/libs/DemystifyAnalysisClass.py b/src/demystify/libs/DemystifyAnalysisClass.py index 50b7248..973cdc7 100644 --- a/src/demystify/libs/DemystifyAnalysisClass.py +++ b/src/demystify/libs/DemystifyAnalysisClass.py @@ -3,22 +3,33 @@ # pylint: disable=R0917; too-many positional args. import logging +import os +import pathlib +import sys from collections import Counter from configparser import NoOptionError -try: - # Required for imports calling from repository root. - from src.demystify.pathlesstaken.src.pathlesstaken import pathlesstaken -except ModuleNotFoundError: - # Required for Pypi install. - from ..pathlesstaken.src.pathlesstaken import pathlesstaken - from . import AnalysisResultsClass, version from .AnalysisQueriesClass import AnalysisQueries from .DenylistQueriesClass import DenylistQueries from .HandleDenylistClass import HandleDenylist from .RoguesQueriesClass import RogueQueries +# pylint: disable=E0401; unable to import (not needed for local tests). +# pylint: disable=C0413; import not at top of file. +# pylint: disable=C0411; order of third-party imports. +sys.path.insert( + 0, str(pathlib.Path("./src/demystify/pathlesstaken/src/pathlesstaken/")) +) +print( + "PATH: %s %s", + os.path.exists( + str(pathlib.Path("./src/demystify/pathlesstaken/src/pathlesstaken/")) + ), + file=sys.stderr, +) +import pathlesstaken # noqa: E402 + class AnalysisError(Exception): """Exception for DemystifyAnalysis object.""" diff --git a/src/demystify/pathlesstaken b/src/demystify/pathlesstaken index be8c2ae..4cf6cce 160000 --- a/src/demystify/pathlesstaken +++ b/src/demystify/pathlesstaken @@ -1 +1 @@ -Subproject commit be8c2ae8d23da13ae3fc915f00dc78eaede54fbe +Subproject commit 4cf6ccec2e56ec98786286b4b39e9fb7e8cf05ae diff --git a/src/demystify/sqlitefid b/src/demystify/sqlitefid index 6745d7d..e13c096 160000 --- a/src/demystify/sqlitefid +++ b/src/demystify/sqlitefid @@ -1 +1 @@ -Subproject commit 6745d7de73a9414fc866f863f6284519cf32fe11 +Subproject commit e13c096e3120503e16026c5fcf4a383e32f11b2b From 34b2f119a2eb11337d0bab54581069f70095838e Mon Sep 17 00:00:00 2001 From: ross-spencer Date: Wed, 17 Dec 2025 19:18:51 +0100 Subject: [PATCH 2/2] Update workflow --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 7871bbe..3ecc3ff 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -12,7 +12,7 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - os: [ubuntu-latest] + os: [windows-latest, ubuntu-latest] python-version: ["3.10", "3.11", "3.12"] experimental: [false] # Include experimental or bleeding-edge releases.