Coder Social home page Coder Social logo

Comments (2)

tkilias avatar tkilias commented on August 19, 2024

it seems it has something to do with generator expressions https://docs.python.org/3/library/functions.html#filter, see the note in the description

from python-toolbox.

ckunki avatar ckunki commented on August 19, 2024

An alternative implementation could be

def _matches(file: Path, c: str|Path|re.Pattern):
    if isinstance(c, re.Pattern):
        return c.match(str(file))
    if isinstance(c, Path):
        return str(c) in str(file)
    return c in file.parts


def _accept(file: Path, deny_list: Sequence[str|Path|re.Pattern]) -> Path | None:
    """
    Return ``file`` if none of the specified criteria in Sequence
    ``deny_list`` matches, otherwise return ``None``.
    """
    for criterion in deny_list:
        if _matches(file, criterion):
            return None
    return file


def _deny_filter(files: Iterable[Path], deny_list: Iterable[str]) -> Iterable[Path]:
    return (f for f in files if _accept(f, list(deny_list)))

from python-toolbox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.