Ce texte retrace les changement récents concernant PONX.


Septembre 2004

2.07 : le numéro de version devient 2.07
modif : mailfiles, si le message est un nom de fichier (texte) valide, mailfiles charge ce fichier comme étant le message à envoyer
modif : modification de l'envoi des e-mails, pour utiliser sendmail (récent dans la librairie standard Python)
nouveau : aldir, retourne la liste des fichiers d'un répertoire, respectant des patterns
nouveau : TCPersistenvoifichier, permet d'envoyer un fichier sur le serveur de télépersistance
nouveau : TCPersistgetfichier, permet de lire un fichier sur le serveur de télépersistance
nouveau : vocalrecord, permet d'enregistrer quelque chose au micro, dans un fichier

Juillet 2004

nouveau : options est une fonction qui permet d'importer des modules complémentaires. Pour l'instant les modules possibles sont :
wx pour wxPython.wx (GUI)
mysql pour MySQLdb (SGBD MySQL)
sqlite pour sqlite (SGBD SQLite)
Modif : l'importation de psycio est abandonnée, à cause d'un problème dans la gestion des sockets.


Juin 2004

2.05 : le numéro de version devient 2.05
modif : Ponx utilise maintenant psyco, si ce module accélérateur est installé. Ce module est facultatif. S'il est absent, Ponx fonctionne quand même. A noter que, vu les traitements réalisés par PONX, l'accélération est rare.
modif : htdecode a un paramètre supplémentaire (facultatif) : Remove_HEAD='YES'
modif : les appels à TPS supportent maintenant les ajouts de "type" (d'objet) et de sécurité.
TPS : gère maintenant une notion de sécurité
TPS : intègre une notion de type (d'objet) ; non utilisée actuellement
Correc : lors du décodage de l'en-tête d'un e-mail, lorsque le sujet s'étend sur deux lignes, et que la deuxième ligne commence par un 'Tab', cela est pris en compte.

avril 2004

2.03a : le numéro de version devient 2.03a
ajout : fonction cpoplit et cpopdestroy ; ces fonctions appellent respectivement ppoplit et ppopdestroy, avec le code du compte de messagerie (voir pasram)
2.03 : le numéro de version devient 2.03
modif : maintenant, ppoplit( , en mode 'TOUT' enregistre les messages complet dans GlobalPARAM ;
modif : ajout d'un paramètre à ppoplit( 'mode' qui peut être 'TETE' (défaut) ou 'TOUT' ;
avec 'TETE', seul l'en-tête des messages est récupéré,
avec 'TOUT', les messages sont lus en entier
modif : remplacement du fichier pasram.txt par le fichier pasram.py
modif : décodage des en-têtes de messages avec de multiples charsets (en quoted-printable)
modif : l'extraction des messages traite maintenant les messages accompagnés de fichiers uuencodés
modif : ajout, dans la fonction convsansaccent, de la constante mappingcharlettr, qui permet une conversion en majuscules, en supprimant toute ponctuation. Cela peut être utile, par exemple, pour lutter contre le spam.
modif : correction de "ppoplit", pour traiter les messages avec certains en-têtes vides (spam)


mars 2004 :

Nouveau : sdecimal (pour analyser l'intérieur d'une chaîne ; paramètre par exemple)
Nouveau : msgextract
Modif : htdecode
Modif : sendmessage (meilleure gestion des erreurs)
Nouveau : serialize
Nouveau : deserialize
Nouveau : convcodec (avec wrapper de iconv, s'il est installé)
Nouveau : convsansaccent
Modif : mailfiles ; ajout de deux paramètres facultatifs : 'user' et 'password' (pour les rares serveurs SMTP qui imposent une identification)
"forçage" du message à être un string (décodage unicode).

PONX - version 2.x

La version 2 marque un nouvel élan, dû, notamment au changement dans les fonctions d'appel.
En même temps, démarre un meilleur suivi des évolutions, et une refonte du site.
Le programme TPS (non terminé) constitue une évolution, et une intégration des anciens programmes "MelPondeur" & "TCPersistServer". Ces deux programmes peuvent maintenant interagir. A été ajouté une gestion de tâches planifiées, indépendante de celle de windows.


Modifications des fonctions-interfaces (liées au passage à la version 2) :
- PRun accepte maintenant un nombre variable d'argument ; seul le premier argument est décodé en unicode ; la compatibilité est maintenu avec la version précédente. Les autres arguments acceptent tous les modes COM (variants) ; les types supportés par Paradox sont :
String (converti en string)
Memo (converti en string, testé jusqu'à 512 Ko)
Memo formaté (converti, par Paradox, en Memo, donc traité comme un string)
Smallint & Longint (converti en entier, court ou long, selon le cas)
Number, Monétaire (convertis en Float)
Date (converti en DateTime)
DateTime (converti en DateTime)
- PxRetour retourne l'argument de retour suivant ; cela permet de gérer les collections et les valeurs de retour multiples avec Paradox. Le principe est une itération : chaque appel à PxRetour retourne l'argument suivant ; lorsqu'il n'y a plus d'arguments, PxRetour renvoie 'False'
- PxEnvoi est l'équivalent de PxRetour, mais pour envoyer des arguments. L'itération (incrémentation) est automatique. Appeler PxEnvoi sans argument réinitialise le compteur.
- PxCtrl permet d'appeler PONX pour exécuter un script qui ne touche pas les éléments par défaut de PONX. Cela permet d'effectuer certains scripts de contrôle, qui n'affectent pas le fonctionnement normale de PONX. Par exemple, pour suivre l'état des threads. pxCtrl n'acceptent qu'un seul argument, et retourne GlobalCONTROL. Attention : la fonction s'appelait, auparavant "PCtrl" ; il faut le renommer dans les programmes Paradox qui l'utilisait.
- PRun1Brut n'est maintenu (provisoirement) que pour compatibilité ascendante. Il peut être avantageusement remplacé par PRun
- PRun1 est supprimé (utiliser PRun à la place)
- PVersion est inchangé, et retourne le numéro de version de PONX
- GlobalPARAM1 et GlobalPARAM2 sont supprimés. Les paramètres sont maintenant passé par la liste GlobalPARAM[] ; remplacer GlobalPARAM1 par GlobalPARAM[0] et GlobalPARAM2 par GlobalPARAM[1]