Skriptgrundlagen
In diesem Python-Beispielskript wird ein Servername, ein Aufrufname und eine Reihe von Zeichenfolgenargumenten in der Befehlszeile verwendet und das Ergebnis des Aufrufs wird gedruckt.
#!/usr/bin/python import sys import xmlrpclib host=sys.argv[1] try: proxy = xmlrpclib.ServerProxy("http://" + host + ":1801/"); token = proxy.user.login('<aiw-system-userid>','<aiw-system-user-password>') proxy = xmlrpclib.ServerProxy("http://" + host + ":1801/?credential=" + token); print getattr(proxy,sys.argv[2])(*sys.argv[3:]) except xmlrpclib.Fault, err: print err.faultString + " (" + str(err.faultCode) + ")"
Diese Codezeilen sind ein grundlegender Bestandteil aller Skripts, die Sie mit Connect entwickeln.
Methoden auflisten
Ein Skript, das die oben dargestellte Codierung verwendet, in diesem Beispiel als
xcall
bezeichnet, kann System.listMethods ausführen und eine Liste von Methoden zu einem
bestimmten System zurückzugeben. Sie können diese Methoden anschließend für die Interaktion
mit dem System verwenden. Sie können die Liste besser lesbar gestalten, indem Sie
das Ergebnis an den Befehl tr
weiterreichen, damit die Kommas in Zeilenumbrüche umgesetzt werden.
Beispiel:
xcall remotesys System.listMethods | tr ',' '\n'
Hinweis: remotesys
ist ein Rechner in Ihrem RICOH ProcessDirector Netzwerk, der über den Port 1801 zugänglich ist.
Die aufgeführten Methoden variieren je nach installierten Erweiterungen; nachfolgend finden Sie ein kleines Beispiel mit Methoden, die zurückgegeben werden.
'InputTray.get' 'InputTray.getAllInputTrays' 'InputTray.getMessages' 'InserterSystem.enable' 'InserterSystem.equals' 'JobType.getAuthorityToken' 'JobType.getClass' 'JobType.getMessages' 'Printer.backspaceJob' 'Printer.cancelJob' 'Printer.create' 'Update.importChoiceEnum' 'Update.importFromUpdate' 'User.getUserPreferences' 'User.login, 'WorkflowSystem.exportMessages, 'WorkflowSystem.findReferencedObjects'
Methodensignatur
Sie können System.methodSignature verwenden, um die Signaturen der Methode TrackingGroup.get abzurufen. (TrackingGroup.get ist Teil der Erweiterung für die Verfolgung von Dokumenten.)
xcall remotesys System.methodSignature TrackingGroup.get
Dieser Aufruf gibt ein Tupel zurück:
[['array', 'array'], ['array', 'array', 'string', 'string'], ['array'], ['string',
'string'], ['string', 'array', 'struct'], ['array', 'array', 'string']]
Dieses Tupel ist eine Sammlung von Arrays, wobei der erste Index jedes Arrays der Rückgabetyp ist und die verbleibenden Werte in den Arrays die Parameter sind.
Das folgende Array:
['array', 'array']
Für dieses Array wird ein Array zurückgegeben und ein Array ist der Parameter.
Das folgende Array:
['array', 'array', 'string', 'string']
Für dieses Array wird ein Array zurückgegeben, der erste Parameter ist ein Array, die Parameter zwei und drei sind Zeichenfolgen.
Beispiel: Jobmerkmale abrufen
Mithilfe des folgenden Befehls können Sie alle Jobdaten vom System "remotesys" abrufen – aktuelle Jobs auf dem System sowie alle damit verbundenen Jobeigenschaften:
xcall remotesys Job.get