🚀 Socket Launch Week 🚀 Day 2: Introducing Repository Labels and Security Policies.Learn More

pywildcard

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pywildcard

A fork of fnmatch to implement **

1.0.10
96

Supply Chain Security

100

Vulnerability

100

Quality

100

Maintenance

98

License

Shell access

Supply chain risk

This module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.

Found 1 instance in 1 package

Maintainers
1

wildcard

This library is a fork of fnmatch (https://docs.python.org/2/library/fnmatch.html) to implement **

|PypiDownloads|

All documentation is identical to fnmatch except * , * is now ** and * only affects the particular directory

https://docs.python.org/2/library/fnmatch.html

Install

.. code:: bash

pip install pywildcard

Link pypi: https://pypi.python.org/pypi/pywildcard

Examples

.. code:: python

import pywildcard
dirs = ['hello/world.py', 'hello/world.pyc', 'hello/world/other/folder/example.py']
pywildcard.filter(dirs, 'hello/*')
# ['hello/world.py', 'hello/world.pyc']

pywildcard.filter(dirs, 'hello/*.py')
# ['hello/world.py']

pywildcard.filter(dirs, 'hello/**')
# ['hello/world.py', 'hello/world.pyc', 'hello/world/other/folder/example.py']

pywildcard.filter(dirs, 'hello/**.py')
# ['hello/world.py', 'hello/world/other/folder/example.py']

Diffs fnmatch & pywildcard

fnmatch


.. code:: python

    import re
    import fnmatch

    urls = ['example/l1/l2/test3-1.py',
            'example/l1/test2-1.py',
            'example/l1/test2-2.py',
            'example/l1/l2/l3/test4-1.py']

    regex = fnmatch.translate('example/*')
    # 'example\\/.*\\Z(?ms)'
    re.findall(regex, "\n".join(urls))
    # return ['example/l1/l2/test3-1.py\nexample/l1/test2-1.py\nexample/l1/test2-2.py\nexample/l1/l2/l3/test4-1.py']

pywildcard

.. code:: python

import re
import pywildcard

urls = ['example/l1/l2/test3-1.py',
        'example/l1/test2-1.py',
        'example/l1/test2-2.py',
        'example/l1/l2/l3/test4-1.py']

regex = pywildcard.translate('example/**')
# 'example/.*?$(?ms)'
re.findall(regex, "\n".join(urls))
# return ['example/l1/l2/test3-1.py',
#         'example/l1/test2-1.py',
#         'example/l1/test2-2.py',
#         'example/l1/l2/l3/test4-1.py']

Running the unit tests

```bash # Check out the git repository. git clone git@github.com:agalera/python-wildcard.git # Enter the directory. cd python-wildcard # Install pytest if you have not done already. pip install pytest # Run the tests pytest

.. |PypiDownloads| image:: https://img.shields.io/pypi/dm/pywildcard.svg :target: https://pypi.python.org/pypi/pywildcard

CHANGELOG

1.0.8 (2015-11-26)

  • update README.md

1.0.7 (2015-11-25)

  • Add documentation

Keywords

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts