Aspectos básicos de los scripts

En esta sección se describe la información esencial que necesitará para crear sus propios scripts.

Este script de ejemplo en Phyton toma un nombre de servidor, un nombre de llamada y un conjunto de argumentos de serie en la línea de comandos e imprime el resultado de la llamada.

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

Estas líneas de código serán una parte esencial de cualquier script que desarrolle con Connect.

Métodos de listas

Un script que utilice el código mostrado anteriormente, llamado xcall en este ejemplo, puede ejecutar System.listMethods para devolver una lista con métodos en un sistema concreto. Puede utilizar dichos métodos para interaccionar con el sistema. Puede mejorar la legibilidad de la lista al verter el resultado en el comando tr para convertir las comas en líneas nuevas.

Por ejemplo:

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

Nota: remotesys es una máquina de la red RICOH ProcessDirector a la que se puede acceder mediante el puerto 1801.

Los métodos de la lista variarán en función de las extensiones instaladas. Aquí puede ver una pequeña muestra de los métodos devueltos.

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

Firma de método

Puede utilizar System.methodSignature para obtener las firmas del método TrackingGroup.get. (TrackingGroup.get forma parte de la extensión de seguimiento de archivos).

xcall remotesys System.methodSignature TrackingGroup.get

Esta llamada devuelve una tupla:

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

Esta tupla es una recopilación de matrices donde el primer índice de cada matriz es el tipo de retorno. Los demás valores de la matriz son los parámetros.

Para esta matriz:

['array', 'array']

Se devuelve una matriz y el parámetro es una matriz.

Para esta matriz:

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

Se devuelve una matriz, el primer parámetro es una matriz y el segundo y el tercer parámetros son cadenas.

Ejemplo: Obtención de propiedades de trabajos

Puede obtener todos los datos de trabajos en el sistema remotesys (los trabajos actuales del sistema y todas las propiedades de trabajos asociadas) con:

xcall remotesys Job.get