Skip to main content

Communicator for internal services

Project description

https://badge.fury.io/py/services_communicator.svg https://travis-ci.org/eshafik/services_communicator.svg?branch=master https://codecov.io/gh/eshafik/services_communicator/branch/master/graph/badge.svg

Communicator for internal services

Documentation

The full documentation is at https://services_communicator.readthedocs.io.

Quickstart

Install Services-Communicator:

pip install services_communicator

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'services_communicator.apps.services_communicator',
    ...
)

Make migrate to database:

python manage.py migrate

Add CREDENTIALS on settings.py file:

CREDENTIALS = { <service id>: {"username": <username>, "password": <password>},
                <service id>: {"username": <username>, "password": <password>},
                ..........................................................
                }
or,
CREDENTIALS = { "<service slug>": {"username": <username>, "password": <password>},
                "<service slug>": {"username": <username>, "password": <password>},
                ..........................................................
                }
or,
CREDENTIALS = { "<service guid>": {"username": <username>, "password": <password>},
                "<service guid>": {"username": <username>, "password": <password>},
                ..........................................................
                }

Now make your own Communicator:

from services_communicator.communicator import Communicator

class CustomCommunicator(Communicator):
    """ Create your custom method here like this by inheriting Communicator"""

    def get_roles(self, *args, **kwargs):
        """
            - To get other service roles
        :return:
        """
        path = self.service.get_full_url + "/users/get_role/" # service url extension to do this task
        response = self._get_action(path=path, headers=self._token())
        return response.json()

    def post_roles(self, *args, **kwargs):
        """
            - To create other service roles
        :return:
        """
        data = data
        path = self.service.get_full_url + "/users/create_role/" # service url extension to do this task
        response = self._post_action(path=path, data=data, headers=self._token())
        return response.json()

    def patch_roles(self, *args, **kwargs):
        """
            - To create other service roles
        :return:
        """
        data = data
        path = self.service.get_full_url + "/users/update_role/" # service url extension to do this task
        response = self._patch_action(path=path, data=data, headers=self._token())
        return response.json()

To perform action, initialize your CustomCommunicator and call your required methods:

service_communicator = CustomCommunicator(**{"service_id": <id>})
or,
service_communicator = CustomCommunicator(**{"service_slug": "<service slug>"})
or,
service_communicator = CustomCommunicator(**{"service_guid": "<service guid>"})

Now you can call your methods to perform specific task:

response = service_communicator.get_roles()

Precaution

  • This module is designed only for the personal development purpose.

History

0.1.0 (2020-01-13)

  • First release on PyPI.

Project details


Download files

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

Source Distribution

services_communicator-0.2.8.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

services_communicator-0.2.8-py2.py3-none-any.whl (10.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file services_communicator-0.2.8.tar.gz.

File metadata

  • Download URL: services_communicator-0.2.8.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for services_communicator-0.2.8.tar.gz
Algorithm Hash digest
SHA256 d91102a2a37474be0e93ba0fccabca25d746d7fe564637d118a82f9186f9d166
MD5 95485d6498c1fb49484138ad25852733
BLAKE2b-256 7852570c93bcc9a210751d43b9b43cd9c42ba8d894907053f6085de7f798e97a

See more details on using hashes here.

File details

Details for the file services_communicator-0.2.8-py2.py3-none-any.whl.

File metadata

  • Download URL: services_communicator-0.2.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for services_communicator-0.2.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c4c1b0ea5f3be7520618bc6cb0c076880bd3f263aaad341c2c82d66d64bf41b6
MD5 24cd52d3a60025001429923044c8b365
BLAKE2b-256 5ba29ae26ae8528cd1f5b2d7e5fb1a52aefe407439529c266a9dc93528ecb1a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page