aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2020-12-27 16:04:34 +0100
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2020-12-27 16:04:34 +0100
commit131be255f641eb90a6a584d2dfaaf4ae90cfd60b (patch)
tree8442500a09ef136fe37c0afe234755bc58711cd8
parent06567915c5605fa98326c16036aa107741c3ddd1 (diff)
downloadpython-phpipam-131be255f641eb90a6a584d2dfaaf4ae90cfd60b.tar.gz
naming scheme
-rw-r--r--README.md2
-rwxr-xr-xphpipam/__init__.py10
-rwxr-xr-xphpipam/backend.py12
-rwxr-xr-xphpipam/resources.py20
-rwxr-xr-xsetup.py7
5 files changed, 27 insertions, 24 deletions
diff --git a/README.md b/README.md
index 0023869..a13115c 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Refer to the [API Doc](https://phpipam.net/api-documentation/) for data layout.
```
import phpipam
-ipam = phpipam.phpipam("https://phpipam.example.com/", "myapp", "apiuser", "p4s5word")
+ipam = phpipam.PhpipamAPI("https://phpipam.example.com/", "myapp", "apiuser", "p4s5word")
```
Usage:
diff --git a/phpipam/__init__.py b/phpipam/__init__.py
index caf217e..7bfbe6f 100755
--- a/phpipam/__init__.py
+++ b/phpipam/__init__.py
@@ -1,7 +1,7 @@
-from .backend import phpipamBackend
-from .resources import phpipamResource
+from .backend import PhpipamBackend
+from .resources import PhpipamResource
-class phpipam:
+class PhpipamAPI:
"""
phpIPAM API Implementation
@@ -29,7 +29,7 @@ class phpipam:
password or static authentification token
"""
- self._backend = phpipamBackend(api_url, app_id, api_user, api_password)
+ self._backend = PhpipamBackend(api_url, app_id, api_user, api_password)
def __getattr__(self, item):
- return phpipamResource(self._backend, item)
+ return PhpipamResource(self._backend, item)
diff --git a/phpipam/backend.py b/phpipam/backend.py
index 64dfcb0..f838a0d 100755
--- a/phpipam/backend.py
+++ b/phpipam/backend.py
@@ -3,16 +3,16 @@ import json
import datetime
from dateutil.parser import parse as datetime_parse
-class apiConnectionException(Exception):
+class ApiConnectionException(Exception):
pass
-class apiQueryException(Exception):
+class ApiQueryException(Exception):
pass
-class apiObjectNotFoundException(Exception):
+class ApiObjectNotFoundException(Exception):
pass
-class phpipamBackend:
+class PhpipamBackend:
def __init__(self, api_url, app_id, api_user, api_password):
self.api_url = api_url.strip('/') + '/api/' + app_id
self.api_user = api_user
@@ -28,7 +28,7 @@ class phpipamBackend:
def _getApiToken(self):
data = requests.post(self.api_url + "/user", auth=(self.api_user,self.api_password)).json()
if not data['success']:
- raise apiConnectionException('Failed to authenticate: ' + str(data['code']))
+ raise ApiConnectionException('Failed to authenticate: ' + str(data['code']))
self.api_token = data['data']['token']
self.api_token_expires = data['data']['expires']
@@ -50,7 +50,7 @@ class phpipamBackend:
data = requests.request(method, self.api_url + url, data=data, headers={'token':self.api_token}).json()
if not 'success' in data or not data['success']:
- raise apiQueryException("Query failed with code " + str(data['code']) + ": " + str(data['message']))
+ raise ApiQueryException("Query failed with code " + str(data['code']) + ": " + str(data['message']))
return data['data']
diff --git a/phpipam/resources.py b/phpipam/resources.py
index 20725c1..5ad1c78 100755
--- a/phpipam/resources.py
+++ b/phpipam/resources.py
@@ -1,4 +1,4 @@
-from .backend import phpipamBackend
+from .backend import PhpipamBackend
# Custom functions are defined here
resource_types = {
@@ -52,19 +52,19 @@ resource_types = {
'prefix':{},
}
-class invalidResourceException(Exception):
+class InvalidResourceException(Exception):
pass
-class invalidResourceOperationException(Exception):
+class InvalidResourceOperationException(Exception):
pass
-class invalidResourceOperationArgumentException(Exception):
+class InvalidResourceOperationArgumentException(Exception):
pass
-class phpipamResourceFunction:
+class PhpipamResourceFunction:
def __init__(self, backend, resource, function):
if not function in resource_types[resource]:
- raise invalidResourceOperationException(f'Operation {function} is not defined for {resource}.')
+ raise InvalidResourceOperationException(f'Operation {function} is not defined for {resource}.')
self._backend = backend
self._resource = resource
@@ -79,19 +79,19 @@ class phpipamResourceFunction:
try:
return self._backend.request( self._function['method'], self._function['request'].format(**kwargs), data=data )
except KeyError as e:
- raise invalidResourceOperationArgumentException( f'{self._resource}.{self._name}: Missing arguments: {e.args}' )
+ raise InvalidResourceOperationArgumentException( f'{self._resource}.{self._name}: Missing arguments: {e.args}' )
-class phpipamResource:
+class PhpipamResource:
def __init__(self, backend, resource):
if not resource in resource_types:
- raise invalidResourceException(f'Invalid resource "{resource}"')
+ raise InvalidResourceException(f'Invalid resource "{resource}"')
self._type = resource
self._backend = backend
def __getattr__(self, attr):
- return phpipamResourceFunction(self._backend, self._type, attr)
+ return PhpipamResourceFunction(self._backend, self._type, attr)
# Functions every ObjectType shares
diff --git a/setup.py b/setup.py
index 35e50dd..94609ae 100755
--- a/setup.py
+++ b/setup.py
@@ -6,8 +6,11 @@ setup(
version='0.0.0-dev',
author="Jonas Gunz",
description="phpIPAM API implementation",
- packages=setuptools.find_packages(),
- license='MIT license',
+ packages=['phpipam'],
+ install_requires=[
+ "requests>=2.25.1"
+ ],
+ license='MIT',
long_description=open('README.md').read(),
long_description_content_type="text/markdown",
classifiers=[