Ecmind_blue_client: Release Notes 0.3.1

Die Version 0.3.1 des ecmind_blue_client bringt einige textuelle Korrekturen und Erweiterungen und vor allem diese beiden neuen Features:

  • Will man sich nicht mit mehreren enaio-Servern via TcpPoolClient verbinden, sondern explit mit einem einzelnen Server mittels TcpClient, bietet dieser nun mit der Connection-Klasse einen Context Manager (für with-Blöcke etc.):
from ecmind_blue_client.tcp_client import Connection
from ecmind_blue_client import Job

with Connection('localhost', 4000, 'TestApp', 'root', 'optimal') as client_with_context:
    test_job = Job('krn.GetServerInfo', Flags=0, Info=6)
    result = client_with_context.execute(test_job)
    print(result)
  • Der Options-String für API-Befehle wie dms.XmlInsert, ...Update etc. sowie für die Methode xml_import() aus der Cleint-Klasse lässt sich nun mit einer neuen Options-Klasse erzeugen:
from ecmind_blue_client.tcp_pool_client import TcpPoolClient as Client
from ecmind_blue_client import ImportActions, Options

client = Client('localhost:4000:1', 'TestApp', 'root', 'optimal')
meta = {'Name': 'Test'}
result = client.xml_import(
    object_name='TestDoc', 
    search_fields=meta,
    import_fields=meta, 
    folder_id=123,
    action1=ImportActions.UPDATE,
    files=['test.pdf'],
    options=Options(REPLACEFILES=True, ARCHIVABLE=True)
)
print(result)

In Zusammenarbeit mit @bb, @danielstraub und @uw gibt es von mir noch einen Hotfix hin zur Version 0.3.2 die aktuell einen Workaround für UTF-8-Zeichen in Kennwörtern implementiert. Diesen werden wir in Zukunft noch näher beleuchten.