Add unwrap method to recursive convert to plain old python objects (#187)

* add as_ppo method for elementary types

* rename as_popo to unwrap; add recursive arg

* add unwrap methods to collection types + Null

* remove dangling 'def'

* Container loops through items() instead of _body

* add Integer and Item unit tests

* added passing tests for everything up to Array

* remove recursive option

* remove unused is_ppo function

* refactor Container unwrap to reuse code

* add AbstractTable test

* add string, null, and aot tests

* add test for Container

* type(..) to isinstance(..) in Container unwrap

* try/catch ensure v has unwrap in Container.unwrap

* replace 'type' with 'isinstance' in test_items.py

* refactor assert_is_ppo to pass only ppo type

* refactory test_document_is_a_dict to not call 'type'

* remove elementary_fail function

* minor change in Container unwrap method

* use isinstance not is_tomlkit in AoT.unwrap

* run pre-commit

GitOrigin-RevId: deac74db82714688a230a0ec142c1ea7ef4ad42f
Change-Id: I6aea2b086116e318f74302645363ec6507f419cf
3 files changed
tree: 6bb07bc5305bae47dcdc10a2545b53c89b8eab01
  1. .github/
  2. docs/
  3. tomlkit/
  4. .coveragerc
  5. .flake8
  6. .gitignore
  7. .gitmodules
  8. .pre-commit-config.yaml
  9. CHANGELOG.md
  10. LICENSE
  11. poetry.lock
  12. pyproject.toml
  13. README.md
  14. tox.ini
README.md

GitHub Release PyPI Version Python Versions License
Tests

TOML Kit - Style-preserving TOML library for Python

TOML Kit is a 1.0.0-compliant TOML library.

It includes a parser that preserves all comments, indentations, whitespace and internal element ordering, and makes them accessible and editable via an intuitive API.

You can also create new TOML documents from scratch using the provided helpers.

Part of the implementation has been adapted, improved and fixed from Molten.

Usage

See the documentation for more information.

Installation

If you are using Poetry, add tomlkit to your pyproject.toml file by using:

poetry add tomlkit

If not, you can use pip:

pip install tomlkit

Running tests

Please clone the repo with submodules with the following command git clone --recurse-submodules https://github.com/sdispater/tomlkit.git. We need the submodule - toml-test for running the tests.

You can run the tests with poetry run pytest -q tests