%global _empty_manifest_terminate_build 0 Name: python-ruamel.yaml.base Version: 0.3.2 Release: 1 Summary: YAMLBase class with saving loading and version support License: Copyright Ruamel bvba 2007-2021 URL: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree Source0: https://mirrors.nju.edu.cn/pypi/web/packages/43/48/a9857909c0c2982c79e7ace20b9e63455b457f62aae0b18f94d5f6ccdbaf/ruamel.yaml.base-0.3.2.tar.gz BuildArch: noarch %description **************** ruamel.yaml.base **************** .. image:: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree/_doc/_static/license.svg?format=raw :target: https://opensource.org/licenses/MIT .. image:: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree/_doc/_static/pypi.svg?format=raw :target: https://pypi.org/project/ruamel-yaml-base/ .. image:: https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw :target: https://pypi.org/project/oitnb/ .. image:: https://sourceforge.net/p/ryd/code/ci/default/tree/_doc/_static/ryd.svg?format=raw :target: https://pypi.org/project/ryd/ YAMLBase class with saving, delayed loading and optional version support The YAMLBase class is initiated with a ``pathlib.Path`` or string based filename of a document containing a single YAML file. This file needs to exists unless the ``create_ok`` parameter is supplied, in which case an instance of the argument to that parameter is created (typically a ``list`` or ``dict`` like object) as the root of the data structure. If the argument is ``True`` an empty ``ruamel.yaml.CommentedMap()`` instance is created as the root. Access to the root object is made via the ``.data`` attribute, if an existing file was specified, it is read in on the first access to ``.data``. .. code:: python from ruamel.yaml.base import YAMLBase file_name = '/data0/talks/meta.yaml' base = YAMLBase(file_name, create_ok=True) base.data['PyCon 2006'] = dict(location='Dallas, TX, USA', title='Extending the life of CVS with Python') base.data['EuroPython 2016'] = dict(location='Bilbao, Spain', title='Beyond scraping') base.changed = True base.save() print(open(file_name).read()) Which prints:: PyCon 2006: location: Dallas, TX, USA title: Extending the life of CVS with Python EuroPython 2016: location: Bilbao, Spain title: Beyond scraping The document is normally loaded using ``ruamel.yaml``'s default round-trip mode. If the initial access to an existing document is done via ``.fast_data``, the loading is done via the faster C loader (which is not fully YAML 1.2) compatible. In that case you should not save the resulting file. The ``save`` will not actually dump out the YAML document file, unless ``.changed`` has been set to ``True``. Saving to file sets ``.changed`` back to ``False``. Using the ``force=True`` will write to file independent of ``changed``. You can also add an extra ``out`` argument, e.g. instead of the last two lines in the example above, you could do:: import sys base.save(out=sys.stdout) # not changing `.changed` base.save() automatic saving ++++++++++++++++ If ``YAMLBase`` is initialised with ``auto_save=True``, **and** ``.changed`` has been set the YAML file will be dumped when the object goes out of scope. internal progress +++++++++++++++++ The initialisation has an optional ``verbose`` argument which can be set to a positive integer to get some information on what is going on internally. alternative initialisation ++++++++++++++++++++++++++ When you subclass ``YAMLBase``, you can pre set the ``create_ok`` and ``auto_save`` values by setting attributes before calling ``super()``:: class X(YAMLBase): def __init__(self, path): self._create_ok = True self._auto_save = True super().__init__(path=path) %package -n python3-ruamel.yaml.base Summary: YAMLBase class with saving loading and version support Provides: python-ruamel.yaml.base BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-ruamel.yaml.base **************** ruamel.yaml.base **************** .. image:: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree/_doc/_static/license.svg?format=raw :target: https://opensource.org/licenses/MIT .. image:: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree/_doc/_static/pypi.svg?format=raw :target: https://pypi.org/project/ruamel-yaml-base/ .. image:: https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw :target: https://pypi.org/project/oitnb/ .. image:: https://sourceforge.net/p/ryd/code/ci/default/tree/_doc/_static/ryd.svg?format=raw :target: https://pypi.org/project/ryd/ YAMLBase class with saving, delayed loading and optional version support The YAMLBase class is initiated with a ``pathlib.Path`` or string based filename of a document containing a single YAML file. This file needs to exists unless the ``create_ok`` parameter is supplied, in which case an instance of the argument to that parameter is created (typically a ``list`` or ``dict`` like object) as the root of the data structure. If the argument is ``True`` an empty ``ruamel.yaml.CommentedMap()`` instance is created as the root. Access to the root object is made via the ``.data`` attribute, if an existing file was specified, it is read in on the first access to ``.data``. .. code:: python from ruamel.yaml.base import YAMLBase file_name = '/data0/talks/meta.yaml' base = YAMLBase(file_name, create_ok=True) base.data['PyCon 2006'] = dict(location='Dallas, TX, USA', title='Extending the life of CVS with Python') base.data['EuroPython 2016'] = dict(location='Bilbao, Spain', title='Beyond scraping') base.changed = True base.save() print(open(file_name).read()) Which prints:: PyCon 2006: location: Dallas, TX, USA title: Extending the life of CVS with Python EuroPython 2016: location: Bilbao, Spain title: Beyond scraping The document is normally loaded using ``ruamel.yaml``'s default round-trip mode. If the initial access to an existing document is done via ``.fast_data``, the loading is done via the faster C loader (which is not fully YAML 1.2) compatible. In that case you should not save the resulting file. The ``save`` will not actually dump out the YAML document file, unless ``.changed`` has been set to ``True``. Saving to file sets ``.changed`` back to ``False``. Using the ``force=True`` will write to file independent of ``changed``. You can also add an extra ``out`` argument, e.g. instead of the last two lines in the example above, you could do:: import sys base.save(out=sys.stdout) # not changing `.changed` base.save() automatic saving ++++++++++++++++ If ``YAMLBase`` is initialised with ``auto_save=True``, **and** ``.changed`` has been set the YAML file will be dumped when the object goes out of scope. internal progress +++++++++++++++++ The initialisation has an optional ``verbose`` argument which can be set to a positive integer to get some information on what is going on internally. alternative initialisation ++++++++++++++++++++++++++ When you subclass ``YAMLBase``, you can pre set the ``create_ok`` and ``auto_save`` values by setting attributes before calling ``super()``:: class X(YAMLBase): def __init__(self, path): self._create_ok = True self._auto_save = True super().__init__(path=path) %package help Summary: Development documents and examples for ruamel.yaml.base Provides: python3-ruamel.yaml.base-doc %description help **************** ruamel.yaml.base **************** .. image:: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree/_doc/_static/license.svg?format=raw :target: https://opensource.org/licenses/MIT .. image:: https://sourceforge.net/p/ruamel-yaml-base/code/ci/default/tree/_doc/_static/pypi.svg?format=raw :target: https://pypi.org/project/ruamel-yaml-base/ .. image:: https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw :target: https://pypi.org/project/oitnb/ .. image:: https://sourceforge.net/p/ryd/code/ci/default/tree/_doc/_static/ryd.svg?format=raw :target: https://pypi.org/project/ryd/ YAMLBase class with saving, delayed loading and optional version support The YAMLBase class is initiated with a ``pathlib.Path`` or string based filename of a document containing a single YAML file. This file needs to exists unless the ``create_ok`` parameter is supplied, in which case an instance of the argument to that parameter is created (typically a ``list`` or ``dict`` like object) as the root of the data structure. If the argument is ``True`` an empty ``ruamel.yaml.CommentedMap()`` instance is created as the root. Access to the root object is made via the ``.data`` attribute, if an existing file was specified, it is read in on the first access to ``.data``. .. code:: python from ruamel.yaml.base import YAMLBase file_name = '/data0/talks/meta.yaml' base = YAMLBase(file_name, create_ok=True) base.data['PyCon 2006'] = dict(location='Dallas, TX, USA', title='Extending the life of CVS with Python') base.data['EuroPython 2016'] = dict(location='Bilbao, Spain', title='Beyond scraping') base.changed = True base.save() print(open(file_name).read()) Which prints:: PyCon 2006: location: Dallas, TX, USA title: Extending the life of CVS with Python EuroPython 2016: location: Bilbao, Spain title: Beyond scraping The document is normally loaded using ``ruamel.yaml``'s default round-trip mode. If the initial access to an existing document is done via ``.fast_data``, the loading is done via the faster C loader (which is not fully YAML 1.2) compatible. In that case you should not save the resulting file. The ``save`` will not actually dump out the YAML document file, unless ``.changed`` has been set to ``True``. Saving to file sets ``.changed`` back to ``False``. Using the ``force=True`` will write to file independent of ``changed``. You can also add an extra ``out`` argument, e.g. instead of the last two lines in the example above, you could do:: import sys base.save(out=sys.stdout) # not changing `.changed` base.save() automatic saving ++++++++++++++++ If ``YAMLBase`` is initialised with ``auto_save=True``, **and** ``.changed`` has been set the YAML file will be dumped when the object goes out of scope. internal progress +++++++++++++++++ The initialisation has an optional ``verbose`` argument which can be set to a positive integer to get some information on what is going on internally. alternative initialisation ++++++++++++++++++++++++++ When you subclass ``YAMLBase``, you can pre set the ``create_ok`` and ``auto_save`` values by setting attributes before calling ``super()``:: class X(YAMLBase): def __init__(self, path): self._create_ok = True self._auto_save = True super().__init__(path=path) %prep %autosetup -n ruamel.yaml.base-0.3.2 %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-ruamel.yaml.base -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.3.2-1 - Package Spec generated