%global _empty_manifest_terminate_build 0 Name: python-find-ff Version: 601 Release: 1 Summary: A tool for finding files in the filesystem License: GPLv3+ URL: https://github.com/gustaebel/ff/ Source0: https://mirrors.aliyun.com/pypi/web/packages/16/f7/d83b642b131dea068e7f93d0e31ec8f1c46efba116eaccb527a2ec65e304/find-ff-601.tar.gz BuildArch: noarch Requires: python3-pymediainfo Requires: python3-file-magic %description ## ff ### About `ff` is a tool for finding files in the filesystem. **NOTE: ff is in the early stages of development, expect things to break and syntax to change.** ### Summary `ff` is a tool for finding files in the filesystem that all share a set of common features. Its scope is similar to `find(1)` and `fd(1)` but it aims at being more accessible and easier to use than `find` and more versatile and powerful than `fd`. It is written in [Python >= 3.6](https://www.python.org/). ### Features * Search by file attributes. * Search in a wide variety of file metadata. * Simple yet powerful expression syntax. * Flexible output options. * Flexible sort options. * Extendable by user plugins. * Parallel search and processing. * Usable in scripts with a Python API. ### Examples Store all files from the current directory that are tracked by `git(1)` in a `tar(1)` archive: ```sh $ ff type=f git.tracked=yes --sort --exec-batch tar cvzf git-tracked.tar.gz ``` Find files in the directory `Videos/` that end with `.mkv` or `.mp4` and are between 720 and 1080 pixels high: ```sh $ ff Videos/ {{ ext=mkv or ext=mp4 }} and {{ height+=720 and height-=1080 }} ``` More examples are [here](https://github.com/gustaebel/ff/blob/master/EXAMPLES.md). ### Installation To build and install `ff` simply type: ```sh $ python setup.py install ``` or ```sh $ pip install find-ff ``` Building with [Cython](https://cython.org/) is also supported. Cython >= 3.0 is required. Depending on the set of arguments this may offer a significant speed-up. ```sh $ python setup-cython.py install ``` ### Python API You can use `ff`'s query capabilities in your own scripts: ```python from ff import Find for entry in Find("type=f git.tracked=yes", directories=["/home/user/project"], sort=["path"]): print(entry["relpath"]) ``` ### Developing plugins and debug mode There is a template for new plugins to start from (`plugin_template.py`) with exhaustive instructions and comments, so you can develop plugins for your own needs. Useful in that regard is `ff`'s debug mode. It can be activated by executing the `ff` module. ```sh $ python -m ff --debug info,cache ... ``` Debug mode produces lots of messages which can be limited to certain categories using the `--debug category1,category2,...` option. On top of that, debug mode activates many internal checks using `assert()`. Therefore, it is advisable to use debug mode during plugin development. %package -n python3-find-ff Summary: A tool for finding files in the filesystem Provides: python-find-ff BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-find-ff ## ff ### About `ff` is a tool for finding files in the filesystem. **NOTE: ff is in the early stages of development, expect things to break and syntax to change.** ### Summary `ff` is a tool for finding files in the filesystem that all share a set of common features. Its scope is similar to `find(1)` and `fd(1)` but it aims at being more accessible and easier to use than `find` and more versatile and powerful than `fd`. It is written in [Python >= 3.6](https://www.python.org/). ### Features * Search by file attributes. * Search in a wide variety of file metadata. * Simple yet powerful expression syntax. * Flexible output options. * Flexible sort options. * Extendable by user plugins. * Parallel search and processing. * Usable in scripts with a Python API. ### Examples Store all files from the current directory that are tracked by `git(1)` in a `tar(1)` archive: ```sh $ ff type=f git.tracked=yes --sort --exec-batch tar cvzf git-tracked.tar.gz ``` Find files in the directory `Videos/` that end with `.mkv` or `.mp4` and are between 720 and 1080 pixels high: ```sh $ ff Videos/ {{ ext=mkv or ext=mp4 }} and {{ height+=720 and height-=1080 }} ``` More examples are [here](https://github.com/gustaebel/ff/blob/master/EXAMPLES.md). ### Installation To build and install `ff` simply type: ```sh $ python setup.py install ``` or ```sh $ pip install find-ff ``` Building with [Cython](https://cython.org/) is also supported. Cython >= 3.0 is required. Depending on the set of arguments this may offer a significant speed-up. ```sh $ python setup-cython.py install ``` ### Python API You can use `ff`'s query capabilities in your own scripts: ```python from ff import Find for entry in Find("type=f git.tracked=yes", directories=["/home/user/project"], sort=["path"]): print(entry["relpath"]) ``` ### Developing plugins and debug mode There is a template for new plugins to start from (`plugin_template.py`) with exhaustive instructions and comments, so you can develop plugins for your own needs. Useful in that regard is `ff`'s debug mode. It can be activated by executing the `ff` module. ```sh $ python -m ff --debug info,cache ... ``` Debug mode produces lots of messages which can be limited to certain categories using the `--debug category1,category2,...` option. On top of that, debug mode activates many internal checks using `assert()`. Therefore, it is advisable to use debug mode during plugin development. %package help Summary: Development documents and examples for find-ff Provides: python3-find-ff-doc %description help ## ff ### About `ff` is a tool for finding files in the filesystem. **NOTE: ff is in the early stages of development, expect things to break and syntax to change.** ### Summary `ff` is a tool for finding files in the filesystem that all share a set of common features. Its scope is similar to `find(1)` and `fd(1)` but it aims at being more accessible and easier to use than `find` and more versatile and powerful than `fd`. It is written in [Python >= 3.6](https://www.python.org/). ### Features * Search by file attributes. * Search in a wide variety of file metadata. * Simple yet powerful expression syntax. * Flexible output options. * Flexible sort options. * Extendable by user plugins. * Parallel search and processing. * Usable in scripts with a Python API. ### Examples Store all files from the current directory that are tracked by `git(1)` in a `tar(1)` archive: ```sh $ ff type=f git.tracked=yes --sort --exec-batch tar cvzf git-tracked.tar.gz ``` Find files in the directory `Videos/` that end with `.mkv` or `.mp4` and are between 720 and 1080 pixels high: ```sh $ ff Videos/ {{ ext=mkv or ext=mp4 }} and {{ height+=720 and height-=1080 }} ``` More examples are [here](https://github.com/gustaebel/ff/blob/master/EXAMPLES.md). ### Installation To build and install `ff` simply type: ```sh $ python setup.py install ``` or ```sh $ pip install find-ff ``` Building with [Cython](https://cython.org/) is also supported. Cython >= 3.0 is required. Depending on the set of arguments this may offer a significant speed-up. ```sh $ python setup-cython.py install ``` ### Python API You can use `ff`'s query capabilities in your own scripts: ```python from ff import Find for entry in Find("type=f git.tracked=yes", directories=["/home/user/project"], sort=["path"]): print(entry["relpath"]) ``` ### Developing plugins and debug mode There is a template for new plugins to start from (`plugin_template.py`) with exhaustive instructions and comments, so you can develop plugins for your own needs. Useful in that regard is `ff`'s debug mode. It can be activated by executing the `ff` module. ```sh $ python -m ff --debug info,cache ... ``` Debug mode produces lots of messages which can be limited to certain categories using the `--debug category1,category2,...` option. On top of that, debug mode activates many internal checks using `assert()`. Therefore, it is advisable to use debug mode during plugin development. %prep %autosetup -n find-ff-601 %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-find-ff -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 601-1 - Package Spec generated