summaryrefslogtreecommitdiff
path: root/python-exdown.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-exdown.spec')
-rw-r--r--python-exdown.spec306
1 files changed, 306 insertions, 0 deletions
diff --git a/python-exdown.spec b/python-exdown.spec
new file mode 100644
index 0000000..0b3352b
--- /dev/null
+++ b/python-exdown.spec
@@ -0,0 +1,306 @@
+%global _empty_manifest_terminate_build 0
+Name: python-exdown
+Version: 0.9.0
+Release: 1
+Summary: Extract code blocks from markdown
+License: MIT
+URL: https://github.com/nschloe/exdown
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f5/69/1a8383e92fd022b285096a464d3bd5af8c3f1ba249cf651313a401bd1aef/exdown-0.9.0.zip
+BuildArch: noarch
+
+
+%description
+# exdown
+[![PyPi Version](https://img.shields.io/pypi/v/exdown.svg?style=flat-square)](https://pypi.org/project/exdown/)
+[![Anaconda Cloud](https://anaconda.org/conda-forge/exdown/badges/version.svg?=style=flat-square)](https://anaconda.org/conda-forge/exdown/)
+[![PyPI pyversions](https://img.shields.io/pypi/pyversions/exdown.svg?style=flat-square)](https://pypi.org/project/exdown/)
+[![GitHub stars](https://img.shields.io/github/stars/nschloe/exdown.svg?style=flat-square&logo=github&label=Stars&logoColor=white)](https://github.com/nschloe/exdown)
+[![PyPi downloads](https://img.shields.io/pypi/dm/exdown.svg?style=flat-square)](https://pypistats.org/packages/exdown)
+[![gh-actions](https://img.shields.io/github/workflow/status/nschloe/exdown/ci?style=flat-square)](https://github.com/nschloe/exdown/actions?query=workflow%3Aci)
+[![codecov](https://img.shields.io/codecov/c/github/nschloe/exdown.svg?style=flat-square)](https://app.codecov.io/gh/nschloe/exdown)
+[![LGTM](https://img.shields.io/lgtm/grade/python/github/nschloe/exdown.svg?style=flat-square)](https://lgtm.com/projects/g/nschloe/exdown)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
+This is exdown, a tool for extracting code blocks from Markdown files and to create
+tests from them.
+Install with
+```
+pip install exdown
+```
+and create tests for [pytest](https://docs.pytest.org/en/stable/) with
+```python
+import exdown
+test_readme = exdown.pytests_from_file("README.md")
+```
+The `test_readme` variable is really a decorated function that pytest will pick up and
+turn into tests.
+```
+tests/test_readme.py ............. [100%]
+```
+#### Skipping code blocks
+If you don't want all code blocks to be extracted, you can **filter by syntax**
+```python
+exdown.pytests_from_file("README.md", syntax_filter="python")
+```
+or prefix your code block in the Markdown file with an `exdown-skip` comment
+````markdown
+Lorem ipsum
+<!--exdown-skip-->
+```python
+foo + bar # not working
+```
+dolor sit amet.
+````
+#### Merging code blocks
+Broken-up code blocks can be merged into one with the `exdown-cont` prefix
+````markdown
+Lorem ipsum
+```
+a = 1
+```
+dolor sit amet
+<!--exdown-cont-->
+```
+# this would otherwise fail since `a` is not defined
+a + 1
+```
+````
+#### Expected output
+You can also define the expected output of a code block:
+````markdown
+This
+```
+print(1 + 3)
+```
+gives
+<!--exdown-expected-output-->
+```
+5
+```
+````
+#### Expected errors
+Some code blocks are expected to give errors. You can verify this with
+````markdown
+The following gives an error:
+<!--exdown-expect-exception-->
+```python
+1 / 0
+```
+````
+### License
+This software is published under the [MIT
+license](https://en.wikipedia.org/wiki/MIT_License).
+
+%package -n python3-exdown
+Summary: Extract code blocks from markdown
+Provides: python-exdown
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-exdown
+# exdown
+[![PyPi Version](https://img.shields.io/pypi/v/exdown.svg?style=flat-square)](https://pypi.org/project/exdown/)
+[![Anaconda Cloud](https://anaconda.org/conda-forge/exdown/badges/version.svg?=style=flat-square)](https://anaconda.org/conda-forge/exdown/)
+[![PyPI pyversions](https://img.shields.io/pypi/pyversions/exdown.svg?style=flat-square)](https://pypi.org/project/exdown/)
+[![GitHub stars](https://img.shields.io/github/stars/nschloe/exdown.svg?style=flat-square&logo=github&label=Stars&logoColor=white)](https://github.com/nschloe/exdown)
+[![PyPi downloads](https://img.shields.io/pypi/dm/exdown.svg?style=flat-square)](https://pypistats.org/packages/exdown)
+[![gh-actions](https://img.shields.io/github/workflow/status/nschloe/exdown/ci?style=flat-square)](https://github.com/nschloe/exdown/actions?query=workflow%3Aci)
+[![codecov](https://img.shields.io/codecov/c/github/nschloe/exdown.svg?style=flat-square)](https://app.codecov.io/gh/nschloe/exdown)
+[![LGTM](https://img.shields.io/lgtm/grade/python/github/nschloe/exdown.svg?style=flat-square)](https://lgtm.com/projects/g/nschloe/exdown)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
+This is exdown, a tool for extracting code blocks from Markdown files and to create
+tests from them.
+Install with
+```
+pip install exdown
+```
+and create tests for [pytest](https://docs.pytest.org/en/stable/) with
+```python
+import exdown
+test_readme = exdown.pytests_from_file("README.md")
+```
+The `test_readme` variable is really a decorated function that pytest will pick up and
+turn into tests.
+```
+tests/test_readme.py ............. [100%]
+```
+#### Skipping code blocks
+If you don't want all code blocks to be extracted, you can **filter by syntax**
+```python
+exdown.pytests_from_file("README.md", syntax_filter="python")
+```
+or prefix your code block in the Markdown file with an `exdown-skip` comment
+````markdown
+Lorem ipsum
+<!--exdown-skip-->
+```python
+foo + bar # not working
+```
+dolor sit amet.
+````
+#### Merging code blocks
+Broken-up code blocks can be merged into one with the `exdown-cont` prefix
+````markdown
+Lorem ipsum
+```
+a = 1
+```
+dolor sit amet
+<!--exdown-cont-->
+```
+# this would otherwise fail since `a` is not defined
+a + 1
+```
+````
+#### Expected output
+You can also define the expected output of a code block:
+````markdown
+This
+```
+print(1 + 3)
+```
+gives
+<!--exdown-expected-output-->
+```
+5
+```
+````
+#### Expected errors
+Some code blocks are expected to give errors. You can verify this with
+````markdown
+The following gives an error:
+<!--exdown-expect-exception-->
+```python
+1 / 0
+```
+````
+### License
+This software is published under the [MIT
+license](https://en.wikipedia.org/wiki/MIT_License).
+
+%package help
+Summary: Development documents and examples for exdown
+Provides: python3-exdown-doc
+%description help
+# exdown
+[![PyPi Version](https://img.shields.io/pypi/v/exdown.svg?style=flat-square)](https://pypi.org/project/exdown/)
+[![Anaconda Cloud](https://anaconda.org/conda-forge/exdown/badges/version.svg?=style=flat-square)](https://anaconda.org/conda-forge/exdown/)
+[![PyPI pyversions](https://img.shields.io/pypi/pyversions/exdown.svg?style=flat-square)](https://pypi.org/project/exdown/)
+[![GitHub stars](https://img.shields.io/github/stars/nschloe/exdown.svg?style=flat-square&logo=github&label=Stars&logoColor=white)](https://github.com/nschloe/exdown)
+[![PyPi downloads](https://img.shields.io/pypi/dm/exdown.svg?style=flat-square)](https://pypistats.org/packages/exdown)
+[![gh-actions](https://img.shields.io/github/workflow/status/nschloe/exdown/ci?style=flat-square)](https://github.com/nschloe/exdown/actions?query=workflow%3Aci)
+[![codecov](https://img.shields.io/codecov/c/github/nschloe/exdown.svg?style=flat-square)](https://app.codecov.io/gh/nschloe/exdown)
+[![LGTM](https://img.shields.io/lgtm/grade/python/github/nschloe/exdown.svg?style=flat-square)](https://lgtm.com/projects/g/nschloe/exdown)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
+This is exdown, a tool for extracting code blocks from Markdown files and to create
+tests from them.
+Install with
+```
+pip install exdown
+```
+and create tests for [pytest](https://docs.pytest.org/en/stable/) with
+```python
+import exdown
+test_readme = exdown.pytests_from_file("README.md")
+```
+The `test_readme` variable is really a decorated function that pytest will pick up and
+turn into tests.
+```
+tests/test_readme.py ............. [100%]
+```
+#### Skipping code blocks
+If you don't want all code blocks to be extracted, you can **filter by syntax**
+```python
+exdown.pytests_from_file("README.md", syntax_filter="python")
+```
+or prefix your code block in the Markdown file with an `exdown-skip` comment
+````markdown
+Lorem ipsum
+<!--exdown-skip-->
+```python
+foo + bar # not working
+```
+dolor sit amet.
+````
+#### Merging code blocks
+Broken-up code blocks can be merged into one with the `exdown-cont` prefix
+````markdown
+Lorem ipsum
+```
+a = 1
+```
+dolor sit amet
+<!--exdown-cont-->
+```
+# this would otherwise fail since `a` is not defined
+a + 1
+```
+````
+#### Expected output
+You can also define the expected output of a code block:
+````markdown
+This
+```
+print(1 + 3)
+```
+gives
+<!--exdown-expected-output-->
+```
+5
+```
+````
+#### Expected errors
+Some code blocks are expected to give errors. You can verify this with
+````markdown
+The following gives an error:
+<!--exdown-expect-exception-->
+```python
+1 / 0
+```
+````
+### License
+This software is published under the [MIT
+license](https://en.wikipedia.org/wiki/MIT_License).
+
+%prep
+%autosetup -n exdown-0.9.0
+
+%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-exdown -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.0-1
+- Package Spec generated