Skip to main content

Rest API to convert openwrt config to json and vice versa using flask

Project description

netjson-rest

A simple flask rest API's to convert from json config to openwrt and vice versa

The code is Python 2, but Python 3 compatible.

diagram


Installation

pip install netjson-rest

For a manual installation


   mkdir netjson-rest
   wget git@github.com:umeshahp/netjson-rest.git
   cd netjson-rest
   python setup.py install
   cd netjsonFlaskRest
   python flaskRestAPI.py

##Usage:

Invoke this API to convert from json to openwrt by http://IP:6000/api/v1/netjson-config/jsontoopenwrt/

data = {
    "hostname" :  "spanidea",
    "timezone" :  "IST",
    "radios" : [{
    "name" : "Spanidea",
    "protocol" : "802.11ac" ,
    "channel" : 36,
    "channel_width" : 20,
    "tx_power " : 10,
    "country" : "IN"

        }
]
,
"wireless": [
        {
            "name": "lo",
            "type": "wireless",
            "addresses": [
                {
                    "address": "127.0.0.1",
                    "mask": 8,
                    "proto": "static",
                    "family": "ipv4"
                }
            ]
        }
    ]
}

request above endpoint from python

x = request.post(data =data, url = 'http://<IP>:6000/api/v1/netjson-config/jsontoopenwrt/')

##Call this to convert from openwrt to json : http://<IP>:6000/api/v1/netjson-config/openwrttojson/

Example to request from python

multipart_form_data = {
    'file2': ('custom_file_name.zip', open('myfile.zip', 'rb')),
    'action': (None, 'store'),
    'path': (None, '/path1')
}

x = request.post(data = multipart_form_data , url = 'http://<IP>:6000/api/v1/netjson-config/openwrttojson/', files=multipart_form_data )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for netjson-rest, version 1.0.5
Filename, size File type Python version Upload date Hashes
Filename, size netjson-rest-1.0.5.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page