Resolve nested object paths
Project description
Path Resolver
=============
Resolve paths within nested objects.
Build Status: [![Build Status](https://travis-ci.org/Andrew-Crosio/pathresolver.svg?branch=master)](https://travis-ci.org/Andrew-Crosio/pathresolver)
Coverage: [![Coverage Status](https://coveralls.io/repos/Andrew-Crosio/pathresolver/badge.png)](https://coveralls.io/r/Andrew-Crosio/pathresolver)
# What is Path Resolver?
Path Resolver is a very simple piece of python code that allows you to dynamic resolve deeply-nested (or as shallow as you please)
structures in Python.
# Why would I use this?
Path Resolver was born out of a need to dynamically find data within nested JSON information.
For example, perhaps I want to extract a bunch of information from a dictionary deep within a JSON structure.
I could, for example, simple write a lot of code and hard-coded indexes, key lookups, et cetera.
Or, alternatively, I could use a simple DSL to look up and resolve the items I need. This is what Path Resolver is.
# Example Usage
## Simple Usage
```python
>>> resolve(['testvalue'], 0)
['testvalue']
>>> resolve(['testvalue'], '0')
'testvalue'
>>> resolve(['testvalue'], '*')
['testvalue']
>>> resolve({'key': 'testvalue'}, 'key')
'testvalue'
>>> resolve({'key': 'testvalue'}, '*')
['testvalue']
```
## Advanced Usage
```python
>>> resolve({'parent': ['one', 'two', 'three']}, 'parent.*')
['one', 'two', 'three']
>>> resolve({'parent': [{'child': 'testvalue1'}]}, 'parent.*.child')
['testvalue1']
>>> resolve({'parent': [{'child': 'testvalue1'}, {'child': 'testvalue2'}]}, 'parent.*.child')
['testvalue1', 'testvalue2']
>>> resolve({'parent': {'child1': 'testvalue1', 'child2': 'testvalue2'}}, 'parent.*')
['testvalue1', 'testvalue2']
```
=============
Resolve paths within nested objects.
Build Status: [![Build Status](https://travis-ci.org/Andrew-Crosio/pathresolver.svg?branch=master)](https://travis-ci.org/Andrew-Crosio/pathresolver)
Coverage: [![Coverage Status](https://coveralls.io/repos/Andrew-Crosio/pathresolver/badge.png)](https://coveralls.io/r/Andrew-Crosio/pathresolver)
# What is Path Resolver?
Path Resolver is a very simple piece of python code that allows you to dynamic resolve deeply-nested (or as shallow as you please)
structures in Python.
# Why would I use this?
Path Resolver was born out of a need to dynamically find data within nested JSON information.
For example, perhaps I want to extract a bunch of information from a dictionary deep within a JSON structure.
I could, for example, simple write a lot of code and hard-coded indexes, key lookups, et cetera.
Or, alternatively, I could use a simple DSL to look up and resolve the items I need. This is what Path Resolver is.
# Example Usage
## Simple Usage
```python
>>> resolve(['testvalue'], 0)
['testvalue']
>>> resolve(['testvalue'], '0')
'testvalue'
>>> resolve(['testvalue'], '*')
['testvalue']
>>> resolve({'key': 'testvalue'}, 'key')
'testvalue'
>>> resolve({'key': 'testvalue'}, '*')
['testvalue']
```
## Advanced Usage
```python
>>> resolve({'parent': ['one', 'two', 'three']}, 'parent.*')
['one', 'two', 'three']
>>> resolve({'parent': [{'child': 'testvalue1'}]}, 'parent.*.child')
['testvalue1']
>>> resolve({'parent': [{'child': 'testvalue1'}, {'child': 'testvalue2'}]}, 'parent.*.child')
['testvalue1', 'testvalue2']
>>> resolve({'parent': {'child1': 'testvalue1', 'child2': 'testvalue2'}}, 'parent.*')
['testvalue1', 'testvalue2']
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pathresolver-0.1.tar.gz
(2.5 kB
view hashes)
Built Distributions
pathresolver-0.1-py2.7.egg
(4.0 kB
view hashes)
Close
Hashes for pathresolver-0.1.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a9b7f8d4243662df38d42acda6deec403bfda8f815a8a0f4b1f9b809f520032 |
|
MD5 | 1c35902159c5191a3c158b3f83e7e5fd |
|
BLAKE2b-256 | a0e777d226cc5a48c988effc038ad469be4d15c2c2e0a3d5e38cc5007bce041d |