Éléments essentiels concernant les scripts

Cette section contient les informations essentielles nécessaires pour créer vos propres scripts.

Cet exemple de script Python utilise un nom de serveur, un nom d'appel et un ensemble d'arguments de chaîne sur la ligne de commande et imprime le résultat de l'appel.

#!/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) + ")"

Ces lignes de code constituent une partie essentielle de tout script développé avec Connect.

Méthodes de liste

Un script utilisant le codage indiqué ci-dessus, baptisé xcall dans cet exemple, peut exécuter System.listMethods pour renvoyer une liste de méthodes sur un système particulier. Vous pouvez ensuite utiliser ces méthodes pour interagir avec le système. Il est possible d'obtenir une liste plus lisible en transmettant le résultat à la commande tr pour convertir les virgules en nouvelles lignes.

Par exemple :

xcall remotesys System.listMethods | tr ',' '\n'

Remarque : remotesys est une machine de votre RICOH ProcessDirector réseau, accessible par le port 1801.

Les méthodes répertoriées pourront varier selon les extensions installées. Voici un petit échantillon des méthodes renvoyées.

'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'

Signature de méthode

Vous pouvez utiliser System.methodSignature pour obtenir les signatures de la méthode TrackingGroup.get. (TrackingGroup.get fait partie de l'extension Document Tracking.)

xcall remotesys System.methodSignature TrackingGroup.get

Cet appel renvoie un n-uplet :

[['array', 'array'], ['array', 'array', 'string', 'string'], ['array'], ['string', 'string'], ['string', 'array', 'struct'], ['array', 'array', 'string']]

Ce n-uplet est un ensemble de tableaux dans lesquels le premier index de chaque tableau contient le type de retour, et les valeurs restantes sont les paramètres.

Pour ce tableau :

['array', 'array']

Un tableau est renvoyé, avec un tableau pour paramètre.

Pour ce tableau :

['array', 'array', 'string', 'string']

Un tableau est renvoyé, avec un tableau pour premier paramètre et des chaînes pour deuxième et troisième paramètres.

Exemple : Accès aux propriétés d'un travail

Vous pouvez obtenir l'ensemble des données d'un travail sur le système remotesys — travaux en cours sur le système et propriétés de travaux associées — avec la commande :

xcall remotesys Job.get