# Buildsheet autogenerated by ravenadm tool -- Do not edit.
NAMEBASE= python-ttp-templates
VERSION= 0.3.7
KEYWORDS= python
VARIANTS= v12 v13
SDESC[v12]= Template Text Parser Templates collections (3.12)
SDESC[v13]= Template Text Parser Templates collections (3.13)
HOMEPAGE= https://github.com/dmulyalin/ttp_templates
CONTACT= Python_Automaton[python@ironwolf.systems]
DOWNLOAD_GROUPS= main
SITES[main]= PYPIWHL/cb/8e/53b0d67a394ff742dbfda62543a1c48c0f32ea630acce6ccadeb09194344
DISTFILE[1]= ttp_templates-0.3.7-py3-none-any.whl:main
DIST_SUBDIR= python-src
DF_INDEX= 1
SPKGS[v12]= single
SPKGS[v13]= single
OPTIONS_AVAILABLE= PY312 PY313
OPTIONS_STANDARD= none
VOPTS[v12]= PY312=ON PY313=OFF
VOPTS[v13]= PY312=OFF PY313=ON
DISTNAME= ttp_templates-0.3.7.dist-info
GENERATED= yes
[PY312].RUN_DEPENDS_ON= python-ttp:single:v12
[PY312].USES_ON= python:v12,wheel
[PY313].RUN_DEPENDS_ON= python-ttp:single:v13
[PY313].USES_ON= python:v13,wheel
[FILE:2328:descriptions/desc.single]
[Downloads]
[PyPI versions]
# Template Text Parser Templates
This repository contains a collection of [TTP] templates.
If you solved a problem using TTP and feel that your work can be useful to
other people, feel
free to raise an issue or submit pull request to include your template(s)
in this repository.
Refer to [Contribute Guide] for details.
Documentation: [https://dmulyalin.github.io/ttp_templates/]
Repository: [https://github.com/dmulyalin/ttp_templates]
TTP: [https://ttp.readthedocs.io/]
## Installation
From PyPi:
`pip install ttp-templates`
or latest from GitHub master branch (need Git installed on the system):
`pip install git+https://github.com/dmulyalin/ttp_templates.git`
## Sample usage
This example demonstrates how to parse `Test Platform` output for `show run
| sec interface` command using
`platform/test_platform_show_run_pipe_sec_interface.txt` template.
Code
```python
from ttp_templates import parse_output
import pprint
data = """
interface GigabitEthernet1/3.251
description Customer #32148
encapsulation dot1q 251
ip address 172.16.33.10 255.255.255.128
shutdown
!
interface GigabitEthernet1/3.251
description Customer #32148
encapsulation dot1q 251
ip address 172.16.33.10 255.255.255.128
shutdown
"""
result = parse_output(
data=data,
platform="Test Platform",
command="show run | sec interface"
)
pprint.pprint(result)
# prints:
# [[[{'description': 'Customer #32148',
# 'disabled': True,
# 'dot1q': '251',
# 'interface': 'GigabitEthernet1/3.251',
# 'ip': '172.16.33.10',
# 'mask': '255.255.255.128'},
# {'description': 'Customer #32148',
# 'disabled': True,
# 'dot1q': '251',
# 'interface': 'GigabitEthernet1/3.251',
# 'ip': '172.16.33.10',
# 'mask': '255.255.255.128'}]]]
```
Sample code to parse `Cisco IOS` output in a structure compatible with
`ietf-interfaces` YANG module.
Code
```python
from ttp_templates import get_template
from ttp import ttp
import pprint
data1 = """
interface GigabitEthernet1/3.251
description Customer #32148
encapsulation dot1q 251
ip address 172.16.33.10 255.255.255.128
shutdown
!
interface GigabitEthernet1/4
description vCPEs access control
ip address 172.16.33.10 255.255.255.128
!
"""
data2 = """
[FILE:126:distinfo]
2328304fb4c957ee60db6f301143e8a4556b22a12b3e2f30511e8ef97fc78f7e 76514 python-src/ttp_templates-0.3.7-py3-none-any.whl