Functions to simplify Swimlane connector development.
Project description
swimlane-connector-utilities
This package contains utility functions to be used in Swimlane Connectors.
Swimlane Attachments
This helper function is to create attachments easily, in Swimlane output format. You can either create a single attachment, with create_attachment
from swimlane_connector_utilities import create_attachment
output = {
"attachment_key1": create_attachment("myfile.txt", "this is a text file")
"attachment_key2": create_attachment("myfile.exe", <byte data here>)
}
Or multiple attachments with SwimlaneAttachments
from swimlane_connector_utilities import SwimlaneAttachments
swa = SwimlaneAttachments()
swa.add_attachment("myfile.txt", "this is a text file")
swa.add_attachment("myfile.exe", <byte data here>)
output = {
"attachment_list": swa.get_attachments()
}
Create Test Connection
Creating test connections can be repetitive, so a test connection that looks like this:
from swimlane_connector_utilities import create_test_conn
# My Integration Auth, copied from __init__.py for example purposes
class MyIntegration(object):
def __init__(self, context):
# Do auth here
pass
def do_auth(self):
pass
class SwMain(object):
def __init__(self, context):
self.context = context
def execute(self):
try:
MyIntegration(self.context).do_auth()
return {"successful": True}
except Exception as e:
return {"successful": False, "errorMessage": str(e)}
Can be easily turned into
from swimlane_connector_utilities import create_test_conn
# My Integration Auth, copied from __init__.py for example purposes
class MyIntegration(object):
def __init__(self, context):
# Do auth here
pass
def do_auth(self):
pass
SwMain = create_test_conn(MyIntegration, execute_func="do_auth")
Note that if you do authentication in init you can exclude the execute_func param
Parse Datetime
datetime inputs can be many different formats and often we want to accept a time relative
to the current time, such as 10 minutes ago
. To handle all datetime inputs, you can use
the function parse_datetime
. This function accepts all common datetime formats as well
as the relative time format below, and returns a pendulum object. An InvalidInput
error
will be raised if it is not a valid datetime.
Relative datetime format:
For the current time:
now
Any other time:
(+/-)(integer) (milliseconds|seconds|minutes|days|weeks|months|years)
examples:
now
-1 months
+3 days
-123 seconds
parse_datetime can be used to parse the input, then convert the pendulum object to the format the api requires.
from swimlane_connector_utilities import parse_datetime
data = {"time_1": "2020-02-02 10:10:10", "time_2": "-5 minutes", "text_field": "text"}
for field in ["time_1", "time_2"]:
data[field] = parse_datetime(field, data[field]).to_iso8601_string()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for swimlane_connector_utilities-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | acf59b31937bb64c81d0186b3bbc046bb05d396ca45876214a490a4224c4f6a3 |
|
MD5 | 451f815e0a568c6dfdc5ebb8b8894695 |
|
BLAKE2b-256 | 747fdb2fd8ac782e5a1eb8e7447ef330495487919dea3aed53e6f232aa710b71 |
Hashes for swimlane_connector_utilities-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eada9736dc722411a512bf4dfcb02b15b6df090499a8108f639b3a276f52dc40 |
|
MD5 | 09c947b81494146ed27bf911b5cc884f |
|
BLAKE2b-256 | 1a28a21854ec8e92b9168374886e7275960d54566bd2eef057941550eaecb00c |