jeudi 10 décembre 2009

Python - Cas pratique 2

Deuxième cas pratique d'utilisation de script Python utilisant XML (libxml), XSL (d'un browser), les itérables et ODBC (pyODBC).

En résumé, ce script Python effectue les opérations suivantes:
  1. Connecter une DB MS SqlServeur pour lister le nom de certaines tables et leurs colonnes (en utilisant sysobjects et syscolumns).
  2. Etablir une structure Python en mémoire avec ces informations.
  3. Enrichir la structure (avec des informations complémentaires comme les datatypes, type delphi, etc)
  4. Transformation de la structure en document XML + enregistrement dans un fichier.
  5. Utilisation d'une XSL pour générer des classes Delphi sur base du contenu XML.
    Pour ce faire, ouvrir le fichier XML avec un Browser. Le code Delphi résultant est visible dans Browser. Utiliser de préférence FireFox car IE6 (par exemple) à la mauvaise manie d'ignorer les CR pour un output de type "text".
Code source, fichier xml et xsl disponibles ici.


Information relative au code source:
Le fichier XML imtermédiaire est fourni avec le code source. Cependant, son contenu a été fortement et volontairement altéré (name scrambling). D'autre part, il ne reste plus d'information sensible sur la ConnectionString dans le code Python.
La transformation XSL du type TzzzDateTime ne sera pas correct car, bien évidemment, il ne s'agit pas du type réel. Bien que le principe de fonctionnement soit correct, le code généré avec cet exemple ne compilera pas.

Aucun commentaire: