summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@riseup.net>2020-04-11 10:50:14 +0200
committerJoonas Niilola <juippis@gentoo.org>2020-12-08 07:53:04 +0200
commitb736c016b0213f455b7918e094e30fbee36e51a2 (patch)
treee62092966d111bde4cb846f88e130a759dd27cc2 /dev-python/wcmatch
parentdev-python/backrefs: Wrapper for re/regex that adds addit. back refs (diff)
downloadgentoo-b736c016b0213f455b7918e094e30fbee36e51a2.tar.gz
gentoo-b736c016b0213f455b7918e094e30fbee36e51a2.tar.bz2
gentoo-b736c016b0213f455b7918e094e30fbee36e51a2.zip
dev-python/wcmatch: Wildcard/glob file name matcher
Package-Manager: Portage-2.3.98, Repoman-2.3.22 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-python/wcmatch')
-rw-r--r--dev-python/wcmatch/Manifest1
-rw-r--r--dev-python/wcmatch/metadata.xml52
-rw-r--r--dev-python/wcmatch/wcmatch-7.1.ebuild55
3 files changed, 108 insertions, 0 deletions
diff --git a/dev-python/wcmatch/Manifest b/dev-python/wcmatch/Manifest
new file mode 100644
index 000000000000..eb561b1f9514
--- /dev/null
+++ b/dev-python/wcmatch/Manifest
@@ -0,0 +1 @@
+DIST wcmatch-7.1.tar.gz 105744 BLAKE2B 0add1c68025c92ac57d6ea64d82bddb20bace60de5d319fb16e16802f208d788d876695bfcd186b80630039f544565c631d36e1c7327dee5d8c799eff8c80ce2 SHA512 79d62d85f13d245e38d0fe92a275e24058b86af8aaf9a926bfd950dad4ec47e40e763c18b08d3eb4ddd925832ae9910f13407094070442b41dbe2fe4ad11fb39
diff --git a/dev-python/wcmatch/metadata.xml b/dev-python/wcmatch/metadata.xml
new file mode 100644
index 000000000000..a6af55c38820
--- /dev/null
+++ b/dev-python/wcmatch/metadata.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lssndrbarbieri@gmail.com</email>
+ <name>Alessandro Barbieri</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>andrewammerlaan@riseup.net</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facelessuser/wcmatch</remote-id>
+ <remote-id type="pypi">wcmatch</remote-id>
+ </upstream>
+ <longdescription lang="en">
+Wildcard Match provides an enhanced fnmatch, glob, and pathlib library in order to provide
+file matching and globbing that more closely follows the features found in Bash. In some
+ways these libraries are similar to Python's builtin libraries as they provide a similar
+interface to match, filter, and glob the file system. But they also include a number of
+features found in Bash's globbing such as backslash escaping, brace expansion, extended
+glob pattern groups, etc. They also add a number of new useful functions as well, such as
+globmatch which functions like fnmatch, but for paths.
+Wildcard Match also adds a file search utility called wcmatch that is built on top of fnmatch and globmatch. It was
+originally written for Rummage, but split out into this project to be used by other
+projects that may find its approach useful.
+Bash is used as a guide when making decisions on behavior for fnmatch and glob. Behavior may differ from Bash version to Bash version,
+but an attempt is made to keep Wildcard Match up with the latest relevant changes. With
+all of this said, there may be a few corner cases in which we've intentionally chosen to
+not exactly mirror Bash. If an issue is found where Wildcard Match seems to deviate in an
+illogical way, we'd love to hear about it in the issue tracker.
+Features
+A quick overview of Wildcard Match's
+Features:
+ Provides an interface comparable to Python's builtin in fnamtch, glob, and pathlib.
+ Allows for a much more configurable experience when matching or globbing with many more features. Adds support for ** in glob.
+ Adds support for escaping characters with \.
+ Add support for POSIX style character classes inside sequences: [[:alnum:]], etc. The C locale is used for byte strings and Unicode properties for Unicode strings.
+ Adds support for brace expansion: a{b,{c,d}} --> ab ac ad.
+ Adds support for expanding ~ or ~username to the appropriate user path.
+ Adds support for extended match patterns: @(...), +(...), *(...), ?(...), and !(...).
+ Adds ability to match path names via the path centric globmatch.
+ Provides a pathlib variant that uses Wildcard Match's glob library instead of Python's default.
+ Provides an alternative file crawler called wcmatch.
+ And more...
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/wcmatch/wcmatch-7.1.ebuild b/dev-python/wcmatch/wcmatch-7.1.ebuild
new file mode 100644
index 000000000000..ef181cb493b7
--- /dev/null
+++ b/dev-python/wcmatch/wcmatch-7.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ ~dev-python/mkdocs_pymdownx_material_extras-1.0.7
+ dev-python/mkdocs-material
+ dev-python/mkdocs-git-revision-date-localized-plugin
+ dev-python/mkdocs-minify-plugin
+ dev-python/pyspelling
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Wildcard/glob file name matcher"
+HOMEPAGE="
+ https://github.com/facelessuser/wcmatch
+ https://pypi.org/project/wcmatch"
+SRC_URI="https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/backrefs-4.1[${PYTHON_USEDEP}]
+ >=dev-python/bracex-2.0[${PYTHON_USEDEP}]
+"
+
+DEPEND="test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+)"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # no such file or dir ~homedir
+ sed -i -e 's:test_tilde_user:_&:' \
+ tests/test_glob.py || die
+
+ # mkdocs-git-revision-date-localized-plugin needs git repo
+ if use doc; then
+ git init
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ git add .
+ git commit -m 'init'
+ fi
+
+ distutils-r1_python_prepare_all
+}