#!/usr/bin/python # -*- coding: ISO-8859-15 -*- import traceback import sys import _common import common import db_common import libjobdext def execscript(params=None, edb=None, debug=0, exec_session=None): """ La fonction execscript est la fonction principale (comme une fonction main en C par exemple) qui sera appelée par le serveur des travaux afin d'exécuter le script. @param params: la liste des arguments fournis au script. @type params: list @param edb: Une instance de connexion à la base de données. @type edb: instance """ parameters = {} if params is None: #Dans le cas d'un appel en ligne de commande on récupère les arguments qui ont été fournies via cette ligne de commande. params = sys.argv #Ci-dessous on récupère dans un dictionnaire python les arguments passés au script. ret = _common.getscriptparameters(parameters, params, "instance","jobqueueid","secusrid") if ret <> 0 : return ret, str(ret) gses, vjobdir, dbtype = libjobdext.get_job_script_session(parameters, exec_session) if edb is None: db_common.sql_dbcontext(gses) db=gses.db else: gses.db=edb db=edb if db == None: return -1, gses.lng("Unable to connect to database") else: #Dans ce bloc on va écrire toute la logique de notre script. print("Hello, World!") if edb is None: #Le script a été appelé sans lui fournir une connexion à la bdd. #Dans ce cas on ferme la connexion que nous avons ouverte au sein du script. db.disconnect() return 0,"ok" if __name__ == "__main__": print sys.argv try: errorcode,errorstr=execscript() except: print "@error" traceback.print_exc(file=sys.stdout) sys.exit(-100) if errorcode <> 0: print "@error",errorstr sys.exit(errorcode)