A client wrapper for blue
Project description
ECMind blue client
A client wrapper for blue.
Deprecation warning
- From Mai 2024,
ecmind_blue_client.com_client
is no longer supported nor tested. - From Mai 2024,
ecmind_blue_client.soap_client
is no longer supported nor tested.
Installation
pip install ecmind_blue_client
Usage
The workflow consists roughly of the following:
- Create a new Client() connection using a client implementation. There are four implementations:
SoapClient()
in the moduleecmind_blue_client.soap_client
: Connect with a SOAP connection stringComClient()
in the moduleecmind_blue_client.com_client
: Connect by using the COM class on WindowsTcpClient()
in the moduleecmind_blue_client.tcp_client
: Directly talk to a server via protlib.- Use
TcpClient.Connection()
in a with block/context.
- Use
TcpPoolClient()
in the moduleecmind_blue_client.tcp_pool_client
- Create a new Job() with a job name and provide/add job input parameters and optional job input file parameters
- Execute the Job() with the Client() instance and consume the result
result.result_code
returns the blue result coderesult.values
is a dict of output parametersresult.files
is a list of output file parametersresult.error_messages
is a string of the servers error response or None ifresult_code
== 0
>>> from ecmind_blue_client.soap_client import SoapClient
>>> client = SoapClient(self.endpoint, 'TestApp', 'root', 'optimal')
>>> test_job = Job('krn.GetServerInfo', Flags=0, Info=6)
>>> result = client.execute(test_job)
>>> print(result.values['Value'])
oxtrodbc.dll
Example
from ecmind_blue_client import SystemFields
from ecmind_blue_client.tcp_pool_client import TcpPoolClient as Client
# Connect with DMS
client = Client(
connection_string="localhost:4000:100", # Balancing setup for the used Client class `TcpPoolClient`
appname="Test-Script", # Instance name, visible in the enterprise manager
username="root",
password="optimal"
)
# Query a folder
query = client.lol_query(
object_name="Dossier",
result_fields=[
SystemFields.OBJECT_CRDATE,
"LastName",
"FirstName"
]
)
# Iterate over folder results
for dossier in query:
print( # Output some infos
dossier["OBJECT_ID"], # OBJECT_ID is added per defaults
dossier['OBJECT_CRDATE'].strftime("%Y-%m-%d"), # Manually added system field from line 16
(f"{dossier['FirstName']} {dossier['LastName']}"), # Manually added objdef fields from line 17 & 18
)
# Check that we have found a least one folder
assert dossier and "OBJECT_ID" in dossier
# Import a test document into the last found folder
import_result = client.xml_import(
object_name="Dokument",
folder_id=dossier["OBJECT_ID"],
search_fields={
"Type": "Invoice"
},
import_fields={
"Type": "Invoice"
},
files = ["invoice.pdf"]
)
# Check if the import was successful and output OSID
assert import_result, import_result.error_message
print(import_result.import_action, import_result.object_id)
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
ecmind_blue_client-0.7.3.tar.gz
(34.4 kB
view details)
Built Distribution
File details
Details for the file ecmind_blue_client-0.7.3.tar.gz
.
File metadata
- Download URL: ecmind_blue_client-0.7.3.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db45969061c6e95ac51677fe6a79b31705935cb9db4986f140cfc31975bf7d18 |
|
MD5 | c9701e0cdf8cefd912d4d06d4ef261d8 |
|
BLAKE2b-256 | bff3120e88e45283335d422bbc55a1b16b0c10ef1361be9693e4116b514f2893 |
File details
Details for the file ecmind_blue_client-0.7.3-py3-none-any.whl
.
File metadata
- Download URL: ecmind_blue_client-0.7.3-py3-none-any.whl
- Upload date:
- Size: 42.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03e21310e7e22fec5e47d82332224313ff7895877ea1dd0e492a3b1834fdee21 |
|
MD5 | fefc06f4d342c7db17fe14de29a3345a |
|
BLAKE2b-256 | 3299f8cb15b05a1335f6e1fd9cc299ae7a28f6ef2b86f7a7ef5c3936bad9838f |