Path Resolver ============= Resolve paths within nested objects. # 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 >>> resolve(['testvalue'], 0) ['testvalue'] >>> resolve(['testvalue'], '0') 'testvalue' >>> resolve(['testvalue'], '*') ['testvalue'] >>> resolve({'key': 'testvalue'}, 'key') 'testvalue' >>> resolve({'key': 'testvalue'}, '*') ['testvalue'] ## Advanced Usage >>> 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 description
=============
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
Built Distributions
Hashes for pathresolver-0.1.1.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 870fc0ec677a3e21147f249b48d69c6d767e043bd6979e51b6e18c76317d1edf |
|
MD5 | b6eccbafed208a9502630dc662f96c68 |
|
BLAKE2b-256 | aaa76b17eaef7f9371793a023e213b0870526e2b2e69762a5c4ae15c8014fb9a |