Skip to main content

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 module ecmind_blue_client.soap_client: Connect with a SOAP connection string
    • ComClient() in the module ecmind_blue_client.com_client: Connect by using the COM class on Windows
    • TcpClient() in the module ecmind_blue_client.tcp_client: Directly talk to a server via protlib.
      • Use TcpClient.Connection() in a with block/context.
    • TcpPoolClient() in the module ecmind_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 code
    • result.values is a dict of output parameters
    • result.files is a list of output file parameters
    • result.error_messages is a string of the servers error response or None if result_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.0.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

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

ecmind_blue_client-0.7.0-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file ecmind_blue_client-0.7.0.tar.gz.

File metadata

  • Download URL: ecmind_blue_client-0.7.0.tar.gz
  • Upload date:
  • Size: 34.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for ecmind_blue_client-0.7.0.tar.gz
Algorithm Hash digest
SHA256 17f3b59a55afb9fbdb9a9b9537dcb6a0c8005b744c29186e4172af1325ac06d3
MD5 051f779da2023b275b58c7caa4dd4007
BLAKE2b-256 c4b82a8b4df110b3b219b1cb493f65a094dfbf6010a17da6289111cbc42e906a

See more details on using hashes here.

File details

Details for the file ecmind_blue_client-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ecmind_blue_client-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b1ca5aaca9d4c47f963e353c36944ac68d62e13fa84c97a9315f69e613e3c0c
MD5 d1062890a802eaa1e5abd4bb2dcda65e
BLAKE2b-256 634e9e72fe1c192b3d840b3d2f06b946983db9b1b71e3f6b4b116d9c426083a9

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