From 0ae0002e40227fad867b1b596986979d4a61d308 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 07:21:55 +0000 Subject: automatic import of python-reader --- python-reader.spec | 484 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 484 insertions(+) create mode 100644 python-reader.spec (limited to 'python-reader.spec') diff --git a/python-reader.spec b/python-reader.spec new file mode 100644 index 0000000..bb87fc2 --- /dev/null +++ b/python-reader.spec @@ -0,0 +1,484 @@ +%global _empty_manifest_terminate_build 0 +Name: python-reader +Version: 3.5 +Release: 1 +Summary: A Python feed reader library. +License: BSD-3-Clause +URL: https://github.com/lemon24/reader +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/76/90/3f0bae14beb5f82e2896b1c5f742ee164d1438934b55c3f32115e31e7b91/reader-3.5.tar.gz +BuildArch: noarch + +Requires: python3-typing-extensions +Requires: python3-feedparser +Requires: python3-requests +Requires: python3-iso8601 +Requires: python3-beautifulsoup4 +Requires: python3-flask +Requires: python3-humanize +Requires: python3-PyYAML +Requires: python3-click +Requires: python3-PyYAML +Requires: python3-reader[app,cli,docs,tests,unstable-plugins] +Requires: python3-tox +Requires: python3-pre-commit +Requires: python3-build +Requires: python3-twine +Requires: python3-sphinx +Requires: python3-sphinx-rtd-theme +Requires: python3-click +Requires: python3-sphinx-click +Requires: python3-sphinx-issues +Requires: python3-sphinx-hoverxref +Requires: python3-sphinxcontrib-log-cabinet +Requires: python3-setuptools +Requires: python3-pytest +Requires: python3-pytest-randomly +Requires: python3-pytest-subtests +Requires: python3-flaky +Requires: python3-coverage +Requires: python3-pytest-cov +Requires: python3-requests-mock +Requires: python3-mechanicalsoup +Requires: python3-requests-wsgi-adapter +Requires: python3-lxml +Requires: python3-html5lib +Requires: python3-werkzeug +Requires: python3-types-requests +Requires: python3-mypy +Requires: python3-requests +Requires: python3-mutagen +Requires: python3-beautifulsoup4 +Requires: python3-blinker +Requires: python3-tweepy +Requires: python3-Jinja2 + +%description +.. begin-intro + +**reader** is a Python feed reader library. + +It is designed to allow writing feed reader applications +without any business code, +and without depending on a particular framework. + +.. end-intro + + +|build-status-github| |code-coverage| |documentation-status| |pypi-status| |type-checking| |code-style| + + +.. |build-status-github| image:: https://github.com/lemon24/reader/workflows/build/badge.svg + :target: https://github.com/lemon24/reader/actions?query=workflow%3Abuild + :alt: build status (GitHub Actions) + +.. |code-coverage| image:: https://codecov.io/github/lemon24/reader/coverage.svg?branch=master + :target: https://codecov.io/github/lemon24/reader?branch=master + :alt: code coverage + +.. |documentation-status| image:: https://readthedocs.org/projects/reader/badge/?version=latest&style=flat + :target: https://reader.readthedocs.io/en/latest/?badge=latest + :alt: documentation status + +.. |pypi-status| image:: https://img.shields.io/pypi/v/reader.svg + :target: https://pypi.python.org/pypi/reader + :alt: PyPI status + +.. |type-checking| image:: http://www.mypy-lang.org/static/mypy_badge.svg + :target: http://mypy-lang.org/ + :alt: checked with mypy + +.. |code-style| image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: code style: black + + +.. begin-features + +*reader* allows you to: + +* retrieve, store, and manage **Atom**, **RSS**, and **JSON** feeds + + * and even follow **Twitter** accounts + +* mark articles as read or important +* add arbitrary tags/metadata to feeds and articles +* filter feeds and articles +* full-text search articles +* get statistics on feed and user activity +* write plugins to extend its functionality +* skip all the low level stuff and focus on what makes your feed reader different + +...all these with: + +* a stable, clearly documented API +* excellent test coverage +* fully typed Python + +What *reader* doesn't do: + +* provide an UI +* provide a REST API (yet) +* depend on a web framework +* have an opinion of how/where you use it + +The following exist, but are optional (and frankly, a bit unpolished): + +* a minimal web interface + + * that works even with text-only browsers + * with automatic tag fixing for podcasts (MP3 enclosures) + +* a command-line interface + +.. end-features + + +Documentation: `reader.readthedocs.io`_ + +.. _reader.readthedocs.io: https://reader.readthedocs.io/ + + +Usage: + +.. begin-usage + +.. code-block:: bash + + $ pip install reader + +.. code-block:: python + + >>> from reader import make_reader + >>> + >>> reader = make_reader('db.sqlite') + >>> reader.add_feed('http://www.hellointernet.fm/podcast?format=rss') + >>> reader.update_feeds() + >>> + >>> entries = list(reader.get_entries()) + >>> [e.title for e in entries] + ['H.I. #108: Project Cyclops', 'H.I. #107: One Year of Weird', ...] + >>> + >>> reader.mark_entry_as_read(entries[0]) + >>> + >>> [e.title for e in reader.get_entries(read=False)] + ['H.I. #107: One Year of Weird', 'H.I. #106: Water on Mars', ...] + >>> [e.title for e in reader.get_entries(read=True)] + ['H.I. #108: Project Cyclops'] + >>> + >>> reader.update_search() + >>> + >>> for e in reader.search_entries('year', limit=3): + ... title = e.metadata.get('.title') + ... print(title.value, title.highlights) + ... + H.I. #107: One Year of Weird (slice(15, 19, None),) + H.I. #52: 20,000 Years of Torment (slice(17, 22, None),) + H.I. #83: The Best Kind of Prison () + +.. end-usage + + +%package -n python3-reader +Summary: A Python feed reader library. +Provides: python-reader +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-reader +.. begin-intro + +**reader** is a Python feed reader library. + +It is designed to allow writing feed reader applications +without any business code, +and without depending on a particular framework. + +.. end-intro + + +|build-status-github| |code-coverage| |documentation-status| |pypi-status| |type-checking| |code-style| + + +.. |build-status-github| image:: https://github.com/lemon24/reader/workflows/build/badge.svg + :target: https://github.com/lemon24/reader/actions?query=workflow%3Abuild + :alt: build status (GitHub Actions) + +.. |code-coverage| image:: https://codecov.io/github/lemon24/reader/coverage.svg?branch=master + :target: https://codecov.io/github/lemon24/reader?branch=master + :alt: code coverage + +.. |documentation-status| image:: https://readthedocs.org/projects/reader/badge/?version=latest&style=flat + :target: https://reader.readthedocs.io/en/latest/?badge=latest + :alt: documentation status + +.. |pypi-status| image:: https://img.shields.io/pypi/v/reader.svg + :target: https://pypi.python.org/pypi/reader + :alt: PyPI status + +.. |type-checking| image:: http://www.mypy-lang.org/static/mypy_badge.svg + :target: http://mypy-lang.org/ + :alt: checked with mypy + +.. |code-style| image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: code style: black + + +.. begin-features + +*reader* allows you to: + +* retrieve, store, and manage **Atom**, **RSS**, and **JSON** feeds + + * and even follow **Twitter** accounts + +* mark articles as read or important +* add arbitrary tags/metadata to feeds and articles +* filter feeds and articles +* full-text search articles +* get statistics on feed and user activity +* write plugins to extend its functionality +* skip all the low level stuff and focus on what makes your feed reader different + +...all these with: + +* a stable, clearly documented API +* excellent test coverage +* fully typed Python + +What *reader* doesn't do: + +* provide an UI +* provide a REST API (yet) +* depend on a web framework +* have an opinion of how/where you use it + +The following exist, but are optional (and frankly, a bit unpolished): + +* a minimal web interface + + * that works even with text-only browsers + * with automatic tag fixing for podcasts (MP3 enclosures) + +* a command-line interface + +.. end-features + + +Documentation: `reader.readthedocs.io`_ + +.. _reader.readthedocs.io: https://reader.readthedocs.io/ + + +Usage: + +.. begin-usage + +.. code-block:: bash + + $ pip install reader + +.. code-block:: python + + >>> from reader import make_reader + >>> + >>> reader = make_reader('db.sqlite') + >>> reader.add_feed('http://www.hellointernet.fm/podcast?format=rss') + >>> reader.update_feeds() + >>> + >>> entries = list(reader.get_entries()) + >>> [e.title for e in entries] + ['H.I. #108: Project Cyclops', 'H.I. #107: One Year of Weird', ...] + >>> + >>> reader.mark_entry_as_read(entries[0]) + >>> + >>> [e.title for e in reader.get_entries(read=False)] + ['H.I. #107: One Year of Weird', 'H.I. #106: Water on Mars', ...] + >>> [e.title for e in reader.get_entries(read=True)] + ['H.I. #108: Project Cyclops'] + >>> + >>> reader.update_search() + >>> + >>> for e in reader.search_entries('year', limit=3): + ... title = e.metadata.get('.title') + ... print(title.value, title.highlights) + ... + H.I. #107: One Year of Weird (slice(15, 19, None),) + H.I. #52: 20,000 Years of Torment (slice(17, 22, None),) + H.I. #83: The Best Kind of Prison () + +.. end-usage + + +%package help +Summary: Development documents and examples for reader +Provides: python3-reader-doc +%description help +.. begin-intro + +**reader** is a Python feed reader library. + +It is designed to allow writing feed reader applications +without any business code, +and without depending on a particular framework. + +.. end-intro + + +|build-status-github| |code-coverage| |documentation-status| |pypi-status| |type-checking| |code-style| + + +.. |build-status-github| image:: https://github.com/lemon24/reader/workflows/build/badge.svg + :target: https://github.com/lemon24/reader/actions?query=workflow%3Abuild + :alt: build status (GitHub Actions) + +.. |code-coverage| image:: https://codecov.io/github/lemon24/reader/coverage.svg?branch=master + :target: https://codecov.io/github/lemon24/reader?branch=master + :alt: code coverage + +.. |documentation-status| image:: https://readthedocs.org/projects/reader/badge/?version=latest&style=flat + :target: https://reader.readthedocs.io/en/latest/?badge=latest + :alt: documentation status + +.. |pypi-status| image:: https://img.shields.io/pypi/v/reader.svg + :target: https://pypi.python.org/pypi/reader + :alt: PyPI status + +.. |type-checking| image:: http://www.mypy-lang.org/static/mypy_badge.svg + :target: http://mypy-lang.org/ + :alt: checked with mypy + +.. |code-style| image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: code style: black + + +.. begin-features + +*reader* allows you to: + +* retrieve, store, and manage **Atom**, **RSS**, and **JSON** feeds + + * and even follow **Twitter** accounts + +* mark articles as read or important +* add arbitrary tags/metadata to feeds and articles +* filter feeds and articles +* full-text search articles +* get statistics on feed and user activity +* write plugins to extend its functionality +* skip all the low level stuff and focus on what makes your feed reader different + +...all these with: + +* a stable, clearly documented API +* excellent test coverage +* fully typed Python + +What *reader* doesn't do: + +* provide an UI +* provide a REST API (yet) +* depend on a web framework +* have an opinion of how/where you use it + +The following exist, but are optional (and frankly, a bit unpolished): + +* a minimal web interface + + * that works even with text-only browsers + * with automatic tag fixing for podcasts (MP3 enclosures) + +* a command-line interface + +.. end-features + + +Documentation: `reader.readthedocs.io`_ + +.. _reader.readthedocs.io: https://reader.readthedocs.io/ + + +Usage: + +.. begin-usage + +.. code-block:: bash + + $ pip install reader + +.. code-block:: python + + >>> from reader import make_reader + >>> + >>> reader = make_reader('db.sqlite') + >>> reader.add_feed('http://www.hellointernet.fm/podcast?format=rss') + >>> reader.update_feeds() + >>> + >>> entries = list(reader.get_entries()) + >>> [e.title for e in entries] + ['H.I. #108: Project Cyclops', 'H.I. #107: One Year of Weird', ...] + >>> + >>> reader.mark_entry_as_read(entries[0]) + >>> + >>> [e.title for e in reader.get_entries(read=False)] + ['H.I. #107: One Year of Weird', 'H.I. #106: Water on Mars', ...] + >>> [e.title for e in reader.get_entries(read=True)] + ['H.I. #108: Project Cyclops'] + >>> + >>> reader.update_search() + >>> + >>> for e in reader.search_entries('year', limit=3): + ... title = e.metadata.get('.title') + ... print(title.value, title.highlights) + ... + H.I. #107: One Year of Weird (slice(15, 19, None),) + H.I. #52: 20,000 Years of Torment (slice(17, 22, None),) + H.I. #83: The Best Kind of Prison () + +.. end-usage + + +%prep +%autosetup -n reader-3.5 + +%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-reader -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 3.5-1 +- Package Spec generated -- cgit v1.2.3