diff --git a/.gitignore b/.gitignore index fbb852b..57b6cf0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ build/ .env .vscode ilias_cookies.txt +*~ +PFERD.egg-info/ # PyInstaller sync_url.spec diff --git a/PFERD/transform.py b/PFERD/transform.py index 7a05dd1..745a6d4 100644 --- a/PFERD/transform.py +++ b/PFERD/transform.py @@ -9,6 +9,7 @@ import os import re from dataclasses import dataclass from pathlib import PurePath +from pathmatch import wildmatch from typing import Callable, List, Optional, TypeVar from .utils import PathLike, Regex, to_path, to_pattern @@ -82,7 +83,7 @@ def predicate(pred: Callable[[PurePath], bool]) -> Transform: return inner def glob(pattern: str) -> Transform: - return predicate(lambda path: path.match(pattern)) + return predicate(lambda path: wildmatch.match(pattern, str(path))) def move_dir(source_dir: PathLike, target_dir: PathLike) -> Transform: source_path = to_path(source_dir) diff --git a/requirements.txt b/requirements.txt index 2d852e1..1291ab9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ requests>=2.21.0 beautifulsoup4>=4.7.1 rich>=2.1.0 -keyring>=21.5.0 \ No newline at end of file +keyring>=21.5.0 +pathmatch>=0.2.2 diff --git a/setup.py b/setup.py index 78f82be..b249562 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,7 @@ setup( "beautifulsoup4>=4.7.1", "rich>=2.1.0", "keyring>=21.5.0" + "pathmatch>=0.2.2" ], )