To make access to the database easier.
pip install dfcon- Python 3.x
from dfcon import Directory
from dfcon.path_filter import DircFilter, FileFilter
from dfcon.filters import Filter, TiledFilter, OverlapedFilterDirectory can create hierarchical instances follow the hierarchical structure of the actual directory.
dirc = Directory(path="path/to/target").build_structure()Filter is the callable class that extends Python's conditional expressions.
This can determine if an object meets the condition.
Filter is abstruct class, the programmer can create filter classes for any object or data.
OverlapedFilter is compound filter consisting of a Filter joined by the AND operator.
This is Filter's subclass.
filter1 = MyFilter()
filter2 = MyFilter()
...
filters: OverlapedFilter = Filter.overlap([filter1, filter2, ...])TiledFilter is compound filter consisting of a Filter joined by the OR operator.
This is Filter's subclass.
filters: TiledFilter = Filter.tile([filter1, filter2, ...])DircFilter makes a judgment about the directory of the file path.
This is Filter's subclass.
dfilter = DircFilter().contained_path("abc")
if dfilter("./src/sample.py"): # False
...
if dfilter("./abc/sample.py"): # True
...DircFilter class used in Directory and its some function's arguments.
FileFilter makes a judgment about the filename of the file path.
This is Filter's subclass.
ffilter = (
FileFilter()
.include_extention(["py", "txt"])
.exclude_extention(["c", "cpp"])
)
if ffilter("./src/sample.py"): # True
...
if ffilter("./abc/sample.txt"): # True
...
if ffilter("./abc/sample.c"): # False
...
if ffilter("./abc/sample.cpp"): # False
...FileFilter class used in Directory and its some function's arguments.