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.04 : le numéro de version devient 2.04 Correc. : l'extraction des pièces jointes (attachment) gère maintenant les nom de fichiers contenant des retours chariots ou passage à la ligne (en les supprimant du nom du fichier) Correc. : le décodage des en-têtes d'e-mail gère maintenant les caractères utf-8 de longueur variable Correc. : le décodage du sujet (en-tête) d'e-mail gère maintenant les sujets sur deux lignes 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] à faire : import zipmci sendmailmultiple (1 seule connexion, plusieurs envois) Administration de Ponx (mise à jour automatique, etc. s'affranchir de wxPython gestion des versions + gestion des versions sur serveur local. internationaliser les messages vérifier le décodage unicode des messages et news. presse-papier : par défaut : texte ? rtf ? image ? utiliser l'envoi d'e-mail du fax intégrer le fax version de la session de Paradox (ligne de commande) vérification automatique du lancement de VEILL.fsl