diff --git a/poyo-0.5.0.tar.gz b/poyo-0.5.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..607840d163f9676d0176ae56cd9fcf21f3bac8a5 Binary files /dev/null and b/poyo-0.5.0.tar.gz differ diff --git a/python-poyo.spec b/python-poyo.spec new file mode 100644 index 0000000000000000000000000000000000000000..ccabd061e699ee605e2e047f8b60ba2fdbb55d40 --- /dev/null +++ b/python-poyo.spec @@ -0,0 +1,329 @@ +%global _empty_manifest_terminate_build 0 +Name: python-poyo +Version: 0.5.0 +Release: 1 +Summary: A lightweight YAML Parser for Python. 🐓 +License: MIT +URL: https://github.com/hackebrot/poyo +Source0: https://files.pythonhosted.org/packages/7d/56/01b496f36bbd496aed9351dd1b06cf57fd2f5028480a87adbcf7a4ff1f65/poyo-0.5.0.tar.gz +BuildArch: noarch + + +%description +default_context: # foobar + greeting: こんにちは + email: "raphael@hackebrot.de" + docs: true + gui: FALSE + 123: 456.789 + # comment + # allthethings + 'some:int': 1000000 + foo: "hallo #welt" #Inline comment :) + longtext: > + This is a multiline string. + It can contain all manners of characters. + Single line breaks are ignored, + but blank linkes cause line breaks. + trueish: Falseeeeeee + blog : raphael.codes + relative-root: / # web app root path (default: '') + lektor: 0.0.0.0:5000 # local build + doc_tools: + # docs or didn't happen + - mkdocs + - 'sphinx' + - null + # 今日は +zZz: True +NullValue: Null +# Block +# Comment +Hello World: + # See you at EuroPython + null: This is madness # yo + gh: https://github.com/{0}.git +"Yay #python": Cool! +``` +### Output Python dict +```python +{ + u"default_context": { + u"greeting": u"こんにちは", + u"email": u"raphael@hackebrot.de", + u"docs": True, + u"gui": False, + u"lektor": "0.0.0.0:5000", + u"relative-root": "/", + 123: 456.789, + u"some:int": 1000000, + u"foo": u"hallo #welt", + u"longtext": ( + u"This is a multiline string. It can contain all " + u"manners of characters.\nSingle line breaks are " + u"ignored, but blank linkes cause line breaks.\n" + ), + u"trueish": u"Falseeeeeee", + u"blog": u"raphael.codes", + u"doc_tools": [u"mkdocs", u"sphinx", None], + }, + u"zZz": True, + u"NullValue": None, + u"Hello World": { + None: u"This is madness", + u"gh": u"https://github.com/{0}.git", + }, + u"Yay #python": u"Cool!", +} +``` +## Logging +poyo follows the recommendations for [logging in a library][logging], which +means it does not configure logging itself. Its root logger is named ``poyo`` +and the names of all its children loggers track the package/module hierarchy. +poyo logs to a ``NullHandler`` and solely on ``DEBUG`` level. +If your application configures logging and allows debug messages to be shown, +you will see logging when using poyo. The log messages indicate which parser +method is used for a given string as the parser deseralizes the config. You +can remove all logging from poyo in your application by setting the log level +of the ``poyo`` logger to a value higher than ``DEBUG``. +[logging]: https://docs.python.org/3/howto/logging.html#configuring-logging-for-a-library +### Disable Logging +```python +import logging +logging.getLogger("poyo").setLevel(logging.WARNING) +``` +### Example Debug Logging Config +```python +import logging +from poyo import parse_string +logging.basicConfig(level=logging.DEBUG) + +%package -n python3-poyo +Summary: A lightweight YAML Parser for Python. 🐓 +Provides: python-poyo +BuildRequires: python3-devel +BuildRequires: python3-setuptools +%description -n python3-poyo +default_context: # foobar + greeting: こんにちは + email: "raphael@hackebrot.de" + docs: true + gui: FALSE + 123: 456.789 + # comment + # allthethings + 'some:int': 1000000 + foo: "hallo #welt" #Inline comment :) + longtext: > + This is a multiline string. + It can contain all manners of characters. + Single line breaks are ignored, + but blank linkes cause line breaks. + trueish: Falseeeeeee + blog : raphael.codes + relative-root: / # web app root path (default: '') + lektor: 0.0.0.0:5000 # local build + doc_tools: + # docs or didn't happen + - mkdocs + - 'sphinx' + - null + # 今日は +zZz: True +NullValue: Null +# Block +# Comment +Hello World: + # See you at EuroPython + null: This is madness # yo + gh: https://github.com/{0}.git +"Yay #python": Cool! +``` +### Output Python dict +```python +{ + u"default_context": { + u"greeting": u"こんにちは", + u"email": u"raphael@hackebrot.de", + u"docs": True, + u"gui": False, + u"lektor": "0.0.0.0:5000", + u"relative-root": "/", + 123: 456.789, + u"some:int": 1000000, + u"foo": u"hallo #welt", + u"longtext": ( + u"This is a multiline string. It can contain all " + u"manners of characters.\nSingle line breaks are " + u"ignored, but blank linkes cause line breaks.\n" + ), + u"trueish": u"Falseeeeeee", + u"blog": u"raphael.codes", + u"doc_tools": [u"mkdocs", u"sphinx", None], + }, + u"zZz": True, + u"NullValue": None, + u"Hello World": { + None: u"This is madness", + u"gh": u"https://github.com/{0}.git", + }, + u"Yay #python": u"Cool!", +} +``` +## Logging +poyo follows the recommendations for [logging in a library][logging], which +means it does not configure logging itself. Its root logger is named ``poyo`` +and the names of all its children loggers track the package/module hierarchy. +poyo logs to a ``NullHandler`` and solely on ``DEBUG`` level. +If your application configures logging and allows debug messages to be shown, +you will see logging when using poyo. The log messages indicate which parser +method is used for a given string as the parser deseralizes the config. You +can remove all logging from poyo in your application by setting the log level +of the ``poyo`` logger to a value higher than ``DEBUG``. +[logging]: https://docs.python.org/3/howto/logging.html#configuring-logging-for-a-library +### Disable Logging +```python +import logging +logging.getLogger("poyo").setLevel(logging.WARNING) +``` +### Example Debug Logging Config +```python +import logging +from poyo import parse_string +logging.basicConfig(level=logging.DEBUG) + +%package help +Summary: Development documents and examples for poyo +Provides: python3-poyo-doc +%description help +default_context: # foobar + greeting: こんにちは + email: "raphael@hackebrot.de" + docs: true + gui: FALSE + 123: 456.789 + # comment + # allthethings + 'some:int': 1000000 + foo: "hallo #welt" #Inline comment :) + longtext: > + This is a multiline string. + It can contain all manners of characters. + Single line breaks are ignored, + but blank linkes cause line breaks. + trueish: Falseeeeeee + blog : raphael.codes + relative-root: / # web app root path (default: '') + lektor: 0.0.0.0:5000 # local build + doc_tools: + # docs or didn't happen + - mkdocs + - 'sphinx' + - null + # 今日は +zZz: True +NullValue: Null +# Block +# Comment +Hello World: + # See you at EuroPython + null: This is madness # yo + gh: https://github.com/{0}.git +"Yay #python": Cool! +``` +### Output Python dict +```python +{ + u"default_context": { + u"greeting": u"こんにちは", + u"email": u"raphael@hackebrot.de", + u"docs": True, + u"gui": False, + u"lektor": "0.0.0.0:5000", + u"relative-root": "/", + 123: 456.789, + u"some:int": 1000000, + u"foo": u"hallo #welt", + u"longtext": ( + u"This is a multiline string. It can contain all " + u"manners of characters.\nSingle line breaks are " + u"ignored, but blank linkes cause line breaks.\n" + ), + u"trueish": u"Falseeeeeee", + u"blog": u"raphael.codes", + u"doc_tools": [u"mkdocs", u"sphinx", None], + }, + u"zZz": True, + u"NullValue": None, + u"Hello World": { + None: u"This is madness", + u"gh": u"https://github.com/{0}.git", + }, + u"Yay #python": u"Cool!", +} +``` +## Logging +poyo follows the recommendations for [logging in a library][logging], which +means it does not configure logging itself. Its root logger is named ``poyo`` +and the names of all its children loggers track the package/module hierarchy. +poyo logs to a ``NullHandler`` and solely on ``DEBUG`` level. +If your application configures logging and allows debug messages to be shown, +you will see logging when using poyo. The log messages indicate which parser +method is used for a given string as the parser deseralizes the config. You +can remove all logging from poyo in your application by setting the log level +of the ``poyo`` logger to a value higher than ``DEBUG``. +[logging]: https://docs.python.org/3/howto/logging.html#configuring-logging-for-a-library +### Disable Logging +```python +import logging +logging.getLogger("poyo").setLevel(logging.WARNING) +``` +### Example Debug Logging Config +```python +import logging +from poyo import parse_string +logging.basicConfig(level=logging.DEBUG) + +%prep +%autosetup -n poyo-0.5.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-poyo -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Sun May 23 2021 Python_Bot +- Package Spec generated