Elementi fondamentali dello script

Questa sezione contiene le informazioni principali necessarie per la creazione di script.

Questo script Python di esempio acquisisce un nome server, un nome chiamata e una serie di argomenti delle stringhe della riga di comando e stampa il risultato della chiamata.

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

Queste righe di codice rappresentano una parte essenziale di tutti gli script sviluppati con Connect.

Elenco di metodi

Uno script che utilizza la codifica mostrata sopra, denominata xcall in questo esempio, può eseguire System.listMethods per tornare a un elenco di metodi di un determinato sistema. È quindi possibile utilizzare tali metodi per interagire con il sistema. È possibile rendere l'elenco più leggibile delimitando i risultati nel comando tr per la conversione delle virgole in nuove righe.

Ad esempio:

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

Nota: remotesys è una macchina presente nella rete RICOH ProcessDirector accessibile mediante la porta 1801.

I metodi elencati variano in base alle estensioni installate. Di seguito vengono presentati alcuni esempi dei metodi restituiti.

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

Metodo firma

È possibile utilizzare System.methodSignature per ottenere le firme del metodo TrackingGroup.get. (TrackingGroup.get appartiene all'estensione di Rilevamento documento).

xcall remotesys System.methodSignature TrackingGroup.get

Questa chiamata restituisce una tupla:

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

Questa tupla è una raccolta di array in cui il primo indice di ciascun array è la tupla di restituzione e i valori rimanenti dell'array sono parametri.

Per questo array:

['array', 'array']

Un array viene restituito e un array è il parametro.

Per questo array:

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

Un array viene restituito, un array è il primo parametro e le stringhe sono il secondo e il terzo parametro.

Esempio: Ottenimento delle proprietà del lavoro

È possibile ottenere tutti i dati del lavoro in un sistema remoto (i lavori correnti nel sistema e tutte le proprietà del lavoro associate) con:

xcall remotesys Job.get