diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 07:54:27 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 07:54:27 +0000 |
| commit | b5e7d1e4b2113e74c204127542dc4417e995a245 (patch) | |
| tree | 88d3267651a457366b8c7f471bcb67b170c04f9e | |
| parent | cb5db87632a1cae9d783fbc9b9ebdbd315db260a (diff) | |
automatic import of python-multisplitbyopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-multisplitby.spec | 144 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 146 insertions, 0 deletions
@@ -0,0 +1 @@ +/multisplitby-0.0.1.tar.gz diff --git a/python-multisplitby.spec b/python-multisplitby.spec new file mode 100644 index 0000000..4af9792 --- /dev/null +++ b/python-multisplitby.spec @@ -0,0 +1,144 @@ +%global _empty_manifest_terminate_build 0 +Name: python-multisplitby +Version: 0.0.1 +Release: 1 +Summary: Split an iterable into multiple using arbitrary predicates. +License: MIT +URL: https://github.com/cthoyt/multisplitby +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2b/2e/595fef86e166573aef74de303a95f89c6d6e32df8f036dc4b97279758d62/multisplitby-0.0.1.tar.gz +BuildArch: noarch + + +%description +Split an iterable into multiple using arbitrary predicates. +This package comes with a single function: ``multisplitby.multi_split_by``. +For all lists ``values`` and ``predicates``, the following conditions are always true: +1. ``1 + len(predicates) = len(list(multi_split_by(values, predicates)))`` +2. ``values == itertools.chain.from_iterable(multi_split_by(values, predicates))`` +Normal usage with one predicate: + >>> values = range(4) + >>> predicates = [lambda x: 2 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2], [3]] +Normal usage with several predicates: + >>> values = range(9) + >>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2], [3, 4], [5, 6, 7], [8]] +If no values are given, will result in ``|predicates| + 1`` generators, all yielding empty lists. + >>> values = [] + >>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[], [], [], []] +If no predicates are given, will result in a single generator that yields the original list: + >>> values = range(4) + >>> predicates = [] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2, 3]] + +%package -n python3-multisplitby +Summary: Split an iterable into multiple using arbitrary predicates. +Provides: python-multisplitby +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-multisplitby +Split an iterable into multiple using arbitrary predicates. +This package comes with a single function: ``multisplitby.multi_split_by``. +For all lists ``values`` and ``predicates``, the following conditions are always true: +1. ``1 + len(predicates) = len(list(multi_split_by(values, predicates)))`` +2. ``values == itertools.chain.from_iterable(multi_split_by(values, predicates))`` +Normal usage with one predicate: + >>> values = range(4) + >>> predicates = [lambda x: 2 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2], [3]] +Normal usage with several predicates: + >>> values = range(9) + >>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2], [3, 4], [5, 6, 7], [8]] +If no values are given, will result in ``|predicates| + 1`` generators, all yielding empty lists. + >>> values = [] + >>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[], [], [], []] +If no predicates are given, will result in a single generator that yields the original list: + >>> values = range(4) + >>> predicates = [] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2, 3]] + +%package help +Summary: Development documents and examples for multisplitby +Provides: python3-multisplitby-doc +%description help +Split an iterable into multiple using arbitrary predicates. +This package comes with a single function: ``multisplitby.multi_split_by``. +For all lists ``values`` and ``predicates``, the following conditions are always true: +1. ``1 + len(predicates) = len(list(multi_split_by(values, predicates)))`` +2. ``values == itertools.chain.from_iterable(multi_split_by(values, predicates))`` +Normal usage with one predicate: + >>> values = range(4) + >>> predicates = [lambda x: 2 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2], [3]] +Normal usage with several predicates: + >>> values = range(9) + >>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2], [3, 4], [5, 6, 7], [8]] +If no values are given, will result in ``|predicates| + 1`` generators, all yielding empty lists. + >>> values = [] + >>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x] + >>> list(map(list, multi_split_by(values, predicates))) + [[], [], [], []] +If no predicates are given, will result in a single generator that yields the original list: + >>> values = range(4) + >>> predicates = [] + >>> list(map(list, multi_split_by(values, predicates))) + [[0, 1, 2, 3]] + +%prep +%autosetup -n multisplitby-0.0.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-multisplitby -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.1-1 +- Package Spec generated @@ -0,0 +1 @@ +17942d7abf678d6384f1901e0d6577cb multisplitby-0.0.1.tar.gz |
