summaryrefslogtreecommitdiff
path: root/python-py7za.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-31 04:47:21 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-31 04:47:21 +0000
commit7e615229f7d7dc38b161b1f3b7b3f1ee3718cccd (patch)
treea783bf2dccc70c89edaed65422360f286d8d383e /python-py7za.spec
parent3af93be5594f3f1c87d763a1bdcd74cd2e7a778a (diff)
automatic import of python-py7za
Diffstat (limited to 'python-py7za.spec')
-rw-r--r--python-py7za.spec249
1 files changed, 249 insertions, 0 deletions
diff --git a/python-py7za.spec b/python-py7za.spec
new file mode 100644
index 0000000..db5d935
--- /dev/null
+++ b/python-py7za.spec
@@ -0,0 +1,249 @@
+%global _empty_manifest_terminate_build 0
+Name: python-py7za
+Version: 0.2.8
+Release: 1
+Summary: Description
+License: MIT
+URL: https://gitlab.com/Jaap.vanderVelde/py7za
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3f/00/e878e8af313cf84e22eb1d9f977414e7e28fb0ef1a832e5e1af7fee84624/py7za-0.2.8.tar.gz
+BuildArch: noarch
+
+
+%description
+# Py7za ("pizza")
+
+Python wrapper for running the 7za.exe utility from https://www.7-zip.org/
+
+The wrapper simply runs the application in a separate process and added functionality primarily aimed at running the tool in several parallel processes from the command-line.
+
+Other than providing that utility, the wrapper tries to provide users Python API access to 7za in a way as simple, and as close to the original as possible. See some documentation for the command line options here https://sevenzip.osdn.jp/chm/cmdline/index.htm (no affiliation).
+
+Additionally, the package contains the generic `AsyncIOPool` class, which allows you to queue up a large number of asynchronous tasks, and it will keep a certain number of them running at all times, until all tasks are done. This works for any `asyncio` `Task`, but can be handily combined with the `Py7za` class.
+
+Finally, a command line utility `py7za-box` ("pizza box", and its aliases `box` and `unbox`) is included, which allows you to quickly replace individual files with their zipped equivalent in-place and vice versa, without writing any code. The idea is that a user may want to zip many files in a large project, without removing them from their original location, and still be able to find them by name and easily extract them individually.
+
+For more information, check the [Py7za documentation at Read the Docs (py7za.readthedocs.io)](https://py7za.readthedocs.io).
+
+## Install
+
+Install the package for use from scripts:
+```commandline
+pip install py7za
+```
+
+Of if you want to use the command-line interface `py7za-box` as well, make sure the dependencies for it are installed like this:
+```commandline
+pip install py7za[box]
+py7za-box --help
+box --help
+unbox --help
+```
+
+On Linux, you will have to have `p7zip` installed for `py7za` to work, as there is no Linux binary included in the package. For example:
+```commandline
+sudo yum install -y p7zip
+sudo apt-get install -y p7zip
+```
+
+### Command line py7za-box
+
+To quickly replace every .csv file in a directory and in all its subdirectories with a zip-file containing that .csv:
+```commandline
+py7za-box **/*.csv
+```
+
+And the reverse:
+```commandline
+py7za-box **/*.csv.zip --unbox
+```
+
+More in the documentation https://py7za.readthedocs.io
+
+## Dependencies
+
+The only external dependency is on `conffu` for the configuration of the command-line tool. If you only want to use the Py7za class, and just use `pip install py7za`, this dependency won't be installed. To install the dependency, use `pip install py7za[box]`.
+
+## License
+
+This package is licensed under the MIT license. See [LICENSE.txt](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/LICENSE.txt).
+
+## Changelog
+
+See [CHANGELOG.md](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/CHANGELOG.md).
+
+%package -n python3-py7za
+Summary: Description
+Provides: python-py7za
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-py7za
+# Py7za ("pizza")
+
+Python wrapper for running the 7za.exe utility from https://www.7-zip.org/
+
+The wrapper simply runs the application in a separate process and added functionality primarily aimed at running the tool in several parallel processes from the command-line.
+
+Other than providing that utility, the wrapper tries to provide users Python API access to 7za in a way as simple, and as close to the original as possible. See some documentation for the command line options here https://sevenzip.osdn.jp/chm/cmdline/index.htm (no affiliation).
+
+Additionally, the package contains the generic `AsyncIOPool` class, which allows you to queue up a large number of asynchronous tasks, and it will keep a certain number of them running at all times, until all tasks are done. This works for any `asyncio` `Task`, but can be handily combined with the `Py7za` class.
+
+Finally, a command line utility `py7za-box` ("pizza box", and its aliases `box` and `unbox`) is included, which allows you to quickly replace individual files with their zipped equivalent in-place and vice versa, without writing any code. The idea is that a user may want to zip many files in a large project, without removing them from their original location, and still be able to find them by name and easily extract them individually.
+
+For more information, check the [Py7za documentation at Read the Docs (py7za.readthedocs.io)](https://py7za.readthedocs.io).
+
+## Install
+
+Install the package for use from scripts:
+```commandline
+pip install py7za
+```
+
+Of if you want to use the command-line interface `py7za-box` as well, make sure the dependencies for it are installed like this:
+```commandline
+pip install py7za[box]
+py7za-box --help
+box --help
+unbox --help
+```
+
+On Linux, you will have to have `p7zip` installed for `py7za` to work, as there is no Linux binary included in the package. For example:
+```commandline
+sudo yum install -y p7zip
+sudo apt-get install -y p7zip
+```
+
+### Command line py7za-box
+
+To quickly replace every .csv file in a directory and in all its subdirectories with a zip-file containing that .csv:
+```commandline
+py7za-box **/*.csv
+```
+
+And the reverse:
+```commandline
+py7za-box **/*.csv.zip --unbox
+```
+
+More in the documentation https://py7za.readthedocs.io
+
+## Dependencies
+
+The only external dependency is on `conffu` for the configuration of the command-line tool. If you only want to use the Py7za class, and just use `pip install py7za`, this dependency won't be installed. To install the dependency, use `pip install py7za[box]`.
+
+## License
+
+This package is licensed under the MIT license. See [LICENSE.txt](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/LICENSE.txt).
+
+## Changelog
+
+See [CHANGELOG.md](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/CHANGELOG.md).
+
+%package help
+Summary: Development documents and examples for py7za
+Provides: python3-py7za-doc
+%description help
+# Py7za ("pizza")
+
+Python wrapper for running the 7za.exe utility from https://www.7-zip.org/
+
+The wrapper simply runs the application in a separate process and added functionality primarily aimed at running the tool in several parallel processes from the command-line.
+
+Other than providing that utility, the wrapper tries to provide users Python API access to 7za in a way as simple, and as close to the original as possible. See some documentation for the command line options here https://sevenzip.osdn.jp/chm/cmdline/index.htm (no affiliation).
+
+Additionally, the package contains the generic `AsyncIOPool` class, which allows you to queue up a large number of asynchronous tasks, and it will keep a certain number of them running at all times, until all tasks are done. This works for any `asyncio` `Task`, but can be handily combined with the `Py7za` class.
+
+Finally, a command line utility `py7za-box` ("pizza box", and its aliases `box` and `unbox`) is included, which allows you to quickly replace individual files with their zipped equivalent in-place and vice versa, without writing any code. The idea is that a user may want to zip many files in a large project, without removing them from their original location, and still be able to find them by name and easily extract them individually.
+
+For more information, check the [Py7za documentation at Read the Docs (py7za.readthedocs.io)](https://py7za.readthedocs.io).
+
+## Install
+
+Install the package for use from scripts:
+```commandline
+pip install py7za
+```
+
+Of if you want to use the command-line interface `py7za-box` as well, make sure the dependencies for it are installed like this:
+```commandline
+pip install py7za[box]
+py7za-box --help
+box --help
+unbox --help
+```
+
+On Linux, you will have to have `p7zip` installed for `py7za` to work, as there is no Linux binary included in the package. For example:
+```commandline
+sudo yum install -y p7zip
+sudo apt-get install -y p7zip
+```
+
+### Command line py7za-box
+
+To quickly replace every .csv file in a directory and in all its subdirectories with a zip-file containing that .csv:
+```commandline
+py7za-box **/*.csv
+```
+
+And the reverse:
+```commandline
+py7za-box **/*.csv.zip --unbox
+```
+
+More in the documentation https://py7za.readthedocs.io
+
+## Dependencies
+
+The only external dependency is on `conffu` for the configuration of the command-line tool. If you only want to use the Py7za class, and just use `pip install py7za`, this dependency won't be installed. To install the dependency, use `pip install py7za[box]`.
+
+## License
+
+This package is licensed under the MIT license. See [LICENSE.txt](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/LICENSE.txt).
+
+## Changelog
+
+See [CHANGELOG.md](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/CHANGELOG.md).
+
+%prep
+%autosetup -n py7za-0.2.8
+
+%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-py7za -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.8-1
+- Package Spec generated