Un tour rapide d'exemples de mise en oeuvre de Karrigell

hello.py Voir source
Le script Python qui affiche le message "Hello Karrigell !"
hello1.py
Le même, mais avec content-type = "text/plain"
test.pih Voir source
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 Voir source
Test de base de script HTML Inside Python avec affichage des en-têtes HTTP, des cookies, quelques calculs
ksTest.ks Voir source
Un "Service Karrigell" complet en un seul script
cheetahTest.py Voir source
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 Voir source
globalTest.py
Utilise un module "global", appelé myScript, disponible dans tous les scripts (ceci est spécifié dans le fichier de configuration)
myForm.htm Voir source
Formulaire HTML envoyé au script Python myScript.pyVoir source, qui affiche les valeurs saisies
fileUpload.html See source
Formulaire HTML envoyé au script Python fileUpload.pySee source, pour montrer comment traiter les téléchargements de fichiers
includeDemo.py Voir source
Script Python qui montre l'utilisation de la fonction Include(). Le script inclus est footer.py See source qui à son tour inclut includedFooter.py See source. La variable THIS change pour chaque script
htmlTagsTemplateTest.py See source
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 See source
Ce module utilise les noms clients et title, ils sont fournis comme arguments mots-clés de la fonction Include()
authenticationTest.pih Voir source
Montre la fonction d'authentification, avec une fonction de test simple ; les valeurs à saisir sont "holden" et "caulfield"
redirect.py Voir source
Redirection vers une autre URL (en l'occurence, mon site sur les chansons bretonnes...)
scriptErrorTest.pih Voir source
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 Voir source
Un script avec une exception SCRIPT_END qui permet d'interrompre le script avant une ligne qui provoque une erreur
tabsDemo.pih Voir source
Montre un menu avec des onglets horizontaux
sessionTestForm.htm Voir source
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.pihVoir source qui initialise l'objet session à partir des champs du formulaire. Le script suivant, sessionTestFollow.pihVoir sourcemontre que les données sont bien récupérées à travers cet objet
thisTest.pih See source
Montre les attributs de l'objet THIS
requestHandlerTest.pih See source
Montre les attributs de l'objet REQUEST_HANDLER
importTest.hip See source
Ce script se contente d'en importer un autre, importTest.pySee source 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é