Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
docs:dev:python:templates [2017/09/11 08:02] florian créée |
docs:dev:python:templates [2024/04/09 09:58] (Version actuelle) florian [Etape COLD] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
non couvertes par les scripts existants. | non couvertes par les scripts existants. | ||
- | ====== Canevas ====== | + | ====== Templates ====== |
===== Travail cyclique ===== | ===== Travail cyclique ===== | ||
Ligne 9: | Ligne 9: | ||
<file python monscript.py> | <file python monscript.py> | ||
#!/usr/bin/python | #!/usr/bin/python | ||
- | # -*- coding: ISO-8859-1 -*- | + | # -*- coding: ISO-8859-15 -*- |
import traceback | import traceback | ||
import sys | import sys | ||
Ligne 15: | Ligne 15: | ||
import common | import common | ||
import db_common | import db_common | ||
+ | import libjobdext | ||
- | def execscript(params=None,edb=None): | + | 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) | La fonction execscript est la fonction principale (comme une fonction main en C par exemple) | ||
Ligne 29: | Ligne 30: | ||
parameters = {} | parameters = {} | ||
- | if params is not None: | + | 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. | #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. | ||
- | sys.argv = params | + | params = sys.argv |
#Ci-dessous on récupère dans un dictionnaire python les arguments passés au script. | #Ci-dessous on récupère dans un dictionnaire python les arguments passés au script. | ||
- | ret = _common.getscriptparameters(parameters, sys.argv, "instance","jobqueueid","secusrid") | + | ret = _common.getscriptparameters(parameters, params, "instance","jobqueueid","secusrid") |
if ret <> 0 : | if ret <> 0 : | ||
return ret, str(ret) | return ret, str(ret) | ||
- | #On initialisation le contexte et surtout la session ezged. | + | gses, vjobdir, dbtype = libjobdext.get_job_script_session(parameters, exec_session) |
- | gctx = common.common(parameters["instance"]) | + | if edb is None: |
- | gses = common.session(parameters["secusrid"],gctx.context[gctx.context["applic"]+".default_language"],gctx,parameters["jobqueueid"]) | + | |
- | + | ||
- | #On initialise la connexion à la base de données via la session ezged. | + | |
- | if edb == None: | + | |
db_common.sql_dbcontext(gses) | db_common.sql_dbcontext(gses) | ||
- | db = gses.db | + | db=gses.db |
else: | else: | ||
- | gses.db = edb | + | gses.db=edb |
- | db = edb | + | db=edb |
if db == None: | if db == None: | ||
Ligne 56: | Ligne 53: | ||
else: | else: | ||
#Dans ce bloc on va écrire toute la logique de notre script. | #Dans ce bloc on va écrire toute la logique de notre script. | ||
- | print "Hello, World!" | + | print("Hello, World!") |
if edb is None: | if edb is None: | ||
Ligne 90: | Ligne 87: | ||
import common | import common | ||
import db_common | import db_common | ||
+ | import libjobdext | ||
from coldtrt import coldscript | from coldtrt import coldscript | ||
Ligne 99: | Ligne 97: | ||
- | def execscript(params=None,edb=None): | + | 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) | La fonction execscript est la fonction principale (comme une fonction main en C par exemple) | ||
Ligne 122: | Ligne 120: | ||
return ret, str(ret) | return ret, str(ret) | ||
- | #On initialisation le contexte et surtout la session ezged. | + | gses, vjobdir, dbtype = libjobdext.get_job_script_session(parameters, exec_session) |
- | gctx = common.common(parameters["instance"]) | + | if edb is None: |
- | gses = common.session(parameters["secusrid"],gctx.context[gctx.context["applic"]+".default_language"],gctx,parameters["jobqueueid"]) | + | |
- | + | ||
- | #On initialise la connexion à la base de données via la session ezged. | + | |
- | if edb == None: | + | |
db_common.sql_dbcontext(gses) | db_common.sql_dbcontext(gses) | ||
- | db = gses.db | + | db=gses.db |
else: | else: | ||
- | gses.db = edb | + | gses.db=edb |
- | db = edb | + | db=edb |
if db == None: | if db == None: | ||
Ligne 139: | Ligne 133: | ||
else: | else: | ||
#Dans ce bloc on va écrire toute la logique de notre script. | #Dans ce bloc on va écrire toute la logique de notre script. | ||
- | print "Quelque chose" | + | print("Fait quelque chose") |
if edb is None: | if edb is None: | ||
Ligne 162: | Ligne 156: | ||
</file> | </file> | ||
- | ====== Déclarer le script ====== | + | ====== Ajouter une étape de référence ====== |
===== Via interface ===== | ===== Via interface ===== | ||
Importer le script via l'Administration -> Travaux -> Travaux de référence -> Etapes de référence | Importer le script via l'Administration -> Travaux -> Travaux de référence -> Etapes de référence | ||
- | ===== Manuellement ===== | ||
- | |||
- | Placer votre script dans le dossier nchp > bin > et le déclarer dans les fichiers d'ezGED | ||
- | |||
- | Dossier :\\ | ||
- | C:\nchp\usr\local\nchp\ezged\bin | ||
- | |||
- | |||
- | Dans le fichier db_data.py, la variable jobsteptpl contient tous les travaux enregistrés. | ||
- | | ID | | | ||
- | | NAME | | | ||
- | | DESC | | | ||
- | | SHARED | | | ||
- | | TYPE | | | ||
- | | CMD | | | ||
- | | MAX | | | ||