Skip to content

xrmx/uwsgiit-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uwsgiit-py

A python client library for uwsgi.it.

Installation

pip install uwsgiit-py

Usage

To use the API

from uwsgiit.api import UwsgiItClient

client = UwsgiItClient("kratos", "deimos", "https://foobar.com/api")

Get latest news

# Plain Usage
curl https://kratos:deimos@foobar.com/api/news/
client.news()

List your data

# Plain Usage
curl https://kratos:deimos@foobar.com/api/me/
client.me()

Change company name

# Plain Usage
curl -X POST -d '{"company": "God of War 4 S.p.a."}' https://kratos:deimos@foobar.com/api/me/
client.update_me({'company': 'God of War 4 S.p.a.'})

Change password

# Plain Usage
curl -X POST -d '{"password": "deimos17"}' https://kratos:deimos@foobar.com/api/me/
client.update_me({'password': 'deimos17'})

List your containers

# Plain Usage
curl https://kratos:deimos17@foobar.com/api/me/containers/
client.containers()

Show a single container

# Plain Usage
curl https://kratos:deimos17@foobar.com/api/containers/30009
client.container(30009)

List distros

# Plain Usage
curl https://kratos:deimos17@foobar.com/api/distros/
client.distros()

Set container distro

# Plain Usage
curl -X POST -d '{"distro": 2}' https://kratos:deimos17@foobar.com/api/containers/30009
client.container_set_distro(30009, 2)

Upload ssh keys

# Plain Usage
curl -X POST -d '{"ssh_keys": ["ssh-rsa ........."]}' https://kratos:deimos17@foobar.com/api/containers/30009
client.container_set_keys(30009, ["ssh-rsa ........."])

List domains

# Plain Usage
curl https://kratos:deimos17@foobar.com/api/domains/
client.domains()

Add domain

# Plain Usage
curl -X POST -d '{"name":"mynewdomain.org"}' https://kratos:deimos17@foobar.com/api/domains/
client.add_domain("mynewdomain.org")

Delete domain

# Plain Usage
curl -X DELETE -d '{"name":"mynewdomain.org"}' https://kratos:deimos17@foobar.com/api/domains/
client.delete_domain("mynewdomain.org")

Error handling

All the client methods return a requests' Request instance. To ease error handling the instance is augmentend with two more attributes:

  • uerror: a boolean that indicate if an HTTP error occured
  • umessage: the error message in plain text

Acknowledgements

Mikamai's ruby client used as reference

About

python library for uwsgi.it api

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages