diff --git a/.github/workflows/update-lists.yml b/.github/workflows/update-lists.yml index 3117073..21dc71f 100644 --- a/.github/workflows/update-lists.yml +++ b/.github/workflows/update-lists.yml @@ -46,7 +46,7 @@ jobs: id: update run: | set -e; mkdir -p lists/mirror - uv run python3 -OO Scripts/update-lists.py --output-dir lists/mirror --max-concurrent 8 + uv run python3 -OO -m Scripts.update_lists --output-dir lists/mirror --max-concurrent 8 - name: Run dead domains linter if: success() continue-on-error: true diff --git a/Scripts/__init__.py b/Scripts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Scripts/deduplicate.py b/Scripts/deduplicate.py index 4f1a5a1..67419e3 100755 --- a/Scripts/deduplicate.py +++ b/Scripts/deduplicate.py @@ -13,11 +13,7 @@ from dataclasses import dataclass from collections.abc import Iterable -# Add current directory to path to allow importing common if run from elsewhere -if str(Path(__file__).parent) not in sys.path: - sys.path.append(str(Path(__file__).parent)) - -from common import is_valid_domain, write_lines +from Scripts.common import is_valid_domain, write_lines @dataclass(slots=True) diff --git a/Scripts/move-pure-domains.py b/Scripts/move_pure_domains.py similarity index 96% rename from Scripts/move-pure-domains.py rename to Scripts/move_pure_domains.py index bc6dd89..e2ccf36 100644 --- a/Scripts/move-pure-domains.py +++ b/Scripts/move_pure_domains.py @@ -8,11 +8,7 @@ from pathlib import Path from collections import defaultdict -# Import common utilities -if str(Path(__file__).parent) not in sys.path: - sys.path.append(str(Path(__file__).parent)) - -from common import is_valid_domain, read_lines, write_lines +from Scripts.common import is_valid_domain, read_lines, write_lines def is_pure_domain(line: str) -> bool: diff --git a/Scripts/test_common.py b/Scripts/test_common.py index 86e8ef1..6fe1b39 100644 --- a/Scripts/test_common.py +++ b/Scripts/test_common.py @@ -3,11 +3,7 @@ from pathlib import Path import hashlib -# Add current directory to path -if str(Path(__file__).parent) not in sys.path: - sys.path.append(str(Path(__file__).parent)) - -from common import sanitize_filename, is_valid_domain, is_adguard_rule +from Scripts.common import sanitize_filename, is_valid_domain, is_adguard_rule class TestCommon(unittest.TestCase): @@ -89,7 +85,7 @@ def test_is_adguard_rule(self): def test_write_lines_atomic(self): import tempfile - from common import write_lines + from Scripts.common import write_lines with tempfile.TemporaryDirectory() as temp_dir: temp_dir_path = Path(temp_dir) diff --git a/Scripts/test_deduplicate.py b/Scripts/test_deduplicate.py index 5e8c577..e283b41 100644 --- a/Scripts/test_deduplicate.py +++ b/Scripts/test_deduplicate.py @@ -2,11 +2,7 @@ import sys from pathlib import Path -# Add current directory to path to allow importing deduplicate -if str(Path(__file__).parent) not in sys.path: - sys.path.append(str(Path(__file__).parent)) - -from deduplicate import process_content +from Scripts.deduplicate import process_content class TestDeduplicate(unittest.TestCase): diff --git a/Scripts/test_is_pure_domain_logic.py b/Scripts/test_is_pure_domain_logic.py index 7dc4ad8..b2673a4 100644 --- a/Scripts/test_is_pure_domain_logic.py +++ b/Scripts/test_is_pure_domain_logic.py @@ -3,17 +3,11 @@ from pathlib import Path import importlib -# Add Scripts to path -scripts_dir = Path(__file__).parent -if str(scripts_dir) not in sys.path: - sys.path.append(str(scripts_dir)) - # Import ADGUARD_INDICATORS from common -from common import ADGUARD_INDICATORS +from Scripts.common import ADGUARD_INDICATORS # Import is_pure_domain from move-pure-domains -move_pure_domains = importlib.import_module("move-pure-domains") -is_pure_domain = move_pure_domains.is_pure_domain +from Scripts.move_pure_domains import is_pure_domain class TestIsPureDomain(unittest.TestCase): diff --git a/Scripts/test_move_pure_domains.py b/Scripts/test_move_pure_domains.py index 85548ec..1bbfb90 100644 --- a/Scripts/test_move_pure_domains.py +++ b/Scripts/test_move_pure_domains.py @@ -4,7 +4,7 @@ from unittest.mock import Mock, mock_open # Import the module dynamically -file_path = Path(__file__).parent / "move-pure-domains.py" +file_path = Path(__file__).parent / "move_pure_domains.py" spec = importlib.util.spec_from_file_location("move_pure_domains", file_path) if spec is None or spec.loader is None: raise ImportError("Could not load module") diff --git a/Scripts/test_update_lists.py b/Scripts/test_update_lists.py index 2654d93..07c007b 100644 --- a/Scripts/test_update_lists.py +++ b/Scripts/test_update_lists.py @@ -20,7 +20,7 @@ class ClientError(Exception): sys.modules["aiohttp"] = aiohttp_mock sys.modules["aiofiles"] = MagicMock() -spec = importlib.util.spec_from_file_location("update_lists", "Scripts/update-lists.py") +spec = importlib.util.spec_from_file_location("update_lists", "Scripts/update_lists.py") update_lists = importlib.util.module_from_spec(spec) sys.modules["update_lists"] = update_lists spec.loader.exec_module(update_lists) diff --git a/Scripts/update-lists.py b/Scripts/update_lists.py similarity index 98% rename from Scripts/update-lists.py rename to Scripts/update_lists.py index 6bc4d15..a0a0745 100644 --- a/Scripts/update-lists.py +++ b/Scripts/update_lists.py @@ -20,11 +20,7 @@ import aiohttp import aiofiles -# Import common utilities -if str(Path(__file__).parent) not in sys.path: - sys.path.append(str(Path(__file__).parent)) - -from common import sanitize_filename +from Scripts.common import sanitize_filename # ============================================================================ # CONFIGURATION