Un tour rapide d'exemples de mise en oeuvre de Karrigell
- hello.py

- Le script Python qui affiche le message "Hello Karrigell !"
- hello1.py

- Le même, mais avec content-type = "text/plain"
- test.pih

- Test de base de script Python Inside HTML, avec affichage des en-têtes HTTP, de l'espace
de noms, la liste des modules disponibles dans cet espace de noms, un calcul de carrés
- test.hip

- Test de base de script HTML Inside Python avec affichage des en-têtes HTTP, des cookies,
quelques calculs
- ksTest.ks

- Un "Service Karrigell" complet en un seul script
- counter.py

- Compteur du nombre de visites sur une page
- cheetahTest.py

- Pour ceux qui préfèrent les systèmes de templates, le moteur bien connu Cheetah
est inclus dans le package. Ce script montre comment l'utiliser : créer un script
Python pour définir les variables, puis utiliser Include() et passer les variables
du script au fichier de template
cheetahTest.tmpl
- globalTest.py

- Utilise un module "global", appelé
myScript
, disponible dans tous les scripts
(ceci est spécifié dans le fichier de configuration)
- myForm.htm

- Formulaire HTML envoyé au script Python
myScript.py
, qui affiche les valeurs saisies
- fileUpload.html

- Formulaire HTML envoyé au script Python
fileUpload.py
, pour montrer comment traiter les téléchargements de fichiers
- includeDemo.py

- Script Python qui montre l'utilisation de la fonction Include(). Le script inclus
est
footer.py
qui à son tour inclut
includedFooter.py
. La variable THIS
change pour chaque script
- htmlTagsTemplateTest.py

- HTMLTags est un module qui permet de générer du HTML à partir de code Python.
Dans cet exemple je m'en sers dans un module de template,
htmlTagsTemplate.py

Ce module utilise les noms
clients
et title
, ils sont fournis comme arguments mots-clés de la
fonction Include()
- authenticationTest.pih

- Montre la fonction d'authentification, avec une fonction de test simple ; les valeurs à
saisir sont "holden" et "caulfield"
- redirect.py

- Redirection vers une autre URL (en l'occurence, mon site sur les chansons bretonnes...)
- scriptErrorTest.pih

- Un script avec une erreur volontaire, pour montrer comment Karrigell affiche les
messages d'erreur. Le bouton "Debug" donne accès au débogueur, qui montre le code
source du script et permet de voir l'état des variables au moment où l'erreur
s'est produite. Voir aussi d'autres
erreurs
- scriptEndTest.py

- Un script avec une exception SCRIPT_END qui permet d'interrompre le script avant une
ligne qui provoque une erreur
- tabsDemo.pih

- Montre un menu avec des onglets horizontaux
- sessionTestForm.htm

- Formulaire HTML dont les données sont conservées par le mécanisme de session. La
validation des données provoque l'appel du script
sessionTestBegin.pih
qui initialise l'objet session à partir des champs du formulaire.
Le script suivant, sessionTestFollow.pih
montre que les données sont bien récupérées à travers cet objet
- thisTest.pih

- Montre les attributs de l'objet
THIS
- requestHandlerTest.pih

- Montre les attributs de l'objet
REQUEST_HANDLER
- importTest.hip

- Ce script se contente d'en importer un autre,
importTest.py
et affiche une valeur issue de ce module importé. Si l'option reload_modules
a été mise à 1 dans le fichier d'initialisation (Karrigell.ini
), quand on modifie la valeur dans importTest.py (avec un éditeur de texte) alors si on recharge importTest.pih la valeur affichée change aussi. Si reload_modules
est à 0, le changement n'a aucun effet
Ceci évite d'avoir à redémarrer le serveur à chaque fois qu'on modifie quelque chose dans un script importé