diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:47:21 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:47:21 +0000 |
commit | 7e615229f7d7dc38b161b1f3b7b3f1ee3718cccd (patch) | |
tree | a783bf2dccc70c89edaed65422360f286d8d383e /python-py7za.spec | |
parent | 3af93be5594f3f1c87d763a1bdcd74cd2e7a778a (diff) |
automatic import of python-py7za
Diffstat (limited to 'python-py7za.spec')
-rw-r--r-- | python-py7za.spec | 249 |
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 |