L'interpréteur Python


Il est possible d'écrire des scriptes Python et de les exécuter dans ModelSphere. Parce que Python n'est pas un langage propriétaire, n'importe qui peut l'utiliser et sa documentation est disponible sur le Web à http://www.python.org

Des scripts Python peuvent être écrits pour implanter des fonctionnalités qui ne sont pas présente dans ModelSphere. Par exemple, des scripts Python peuvent produire des rapports HTML, générer du code SQL d'un SGBD non-supporté, exporter des éléments de modèle vers d'autres outils, compiler des statistiques à propos des modèles de ModelSphere, etc.


L'interpréteur Python comme calculateur intégré

Choisissez Interpréteur Python dans le menu Outils. Après que la console Python se soit affichée, tapez les lignes de commande suivantes: Vous devriez obtenir 10, 7 et 0.8333 dans la fenêtre de sortie.

Vous pouvez aussi invoquer des instructions Python. Tapez les lignes de commande suivantes:


Un fichier test.txt devrait avoir été créé dans le répertoire de l'application.

Maintenant, créez un nouveau fichier nommé demo.py dans un éditeur texte (comme NotePad) et tapez les cinq lignes de codes que vous venez d'entrer dans l'interpréteur Python. Sauvegardez le fichier. Dans l'interpréteur Python de ModelSphere, appuyez sur le bouton Exécuter un fichier... et choisissez le fichier demo.py
le fichier test.txt est à nouveau généré.

Un fichier contenant des instructions Python est appelé un script Python. Pour en savoir plus à propos des instructions Python, consultez la documentation en ligne sur le site http://www.python.org

Les scripts Python scripts comme langage de requêtes sur les modèles

Naturellement, tout l'intérêt des scripts Python réside dans leur habilité à interroger les données des modèles de ModelSphere. Ouvrez le script Python apellé demo1.py (il est fourni dans le répertoire d'exemple avec l'application), vous devriez avoir :

#
# import clauses
#
from org.modelsphere.jack.srtool import ApplicationContext
#
# script's entry point
#
name = ApplicationContext.APPLICATION_NAME
vers = ApplicationContext.APPLICATION_BUILD_ID
out_file = open("test.txt","w")
out_file.write("You are working on " + name + " build", vers)
out_file.close()

Le script écrit le nom et le numéro de révision de l'application dans un fichier test.txt. L'exemple suivant (demo2.py) écrit le nom du projet dans le fichier test.txt.

#
# import classes
#
from org.modelsphere.jack.srtool import ApplicationContext
from org.modelsphere.jack.baseDb.db import Db
from org.modelsphere.sms.templates import GenericMapping

#
# script's entry point
#
def main() :
 try:
  project = ApplicationContext.getFocusManager().getCurrentProject()
  db      = project.getDb()
  db.beginTrans(Db.READ_TRANS)
  metafield = GenericMapping.getMetaField("ProjectName")
  name = project.get(metafield)
  out_file = open("test.txt","w")
  out_file.write("Project name:")
  out_file.write(name)
  out_file.close()
 finally:
  db.commitTrans()

main()

La documentation (javadoc) sur l'API de GenericMapping est fourni avec l'application. (Voir index.html dans le répertoire doc\template-api\ )