commit cfb88b575731f8525ee27c7e3ba3cd4d436472b2 Author: Nikolai Kristiansen Date: Tue Nov 4 11:45:28 2014 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e67b398 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.swp +*.pyc +local_settings.py +venv +.idea diff --git a/api.py b/api.py new file mode 100644 index 0000000..e4af3d5 --- /dev/null +++ b/api.py @@ -0,0 +1,41 @@ +# CPanel API +# https://documentation.cpanel.net/display/SDK/cPanel+API+2+-+Email +import requests + + +class CPanel(object): + def __init__(self, base_url, username, password): + self.base_url = base_url + self.username = username + self.password = password + + def api(self, module, function, params=None, version=2): + generic = { + 'cpanel_jsonapi_user': self.username, + 'cpanel_jsonapi_module': module, + 'cpanel_jsonapi_func': function, + 'cpanel_jsonapi_apiversion': version, + } + if params is not None: + params = dict(generic.items() + params.items()) + + headers = {'content-type': 'application/json'} + r = requests.get( + self.base_url, + params=params, + headers=headers, + auth=requests.auth.HTTPBasicAuth(self.username, self.password), + verify=False) + return r.json() + + +if __name__ == '__main__': + import settings + + server = CPanel(settings.base_url, settings.username, settings.password) + + params = dict( + domain='studentersamfundet.no', + regex='kak-*' + ) + print server.api('Email', 'listforwards', params) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2f2d5f4 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +requests==2.4.3