Aller au contenu

coolchan le script pour Xchat


theocrite

Messages recommandés

En bref

Résumé pour les dissahideurs pressés.

Coolchan est un script pour Xchat. Il permet de gérer plusieurs encodages de caractères (charsets) au sein d'un même serveur. Par défaut xchat ne le permet pas : on ne peux régler qu'un seul charset par serveur.

Ce topic sert de présentation/tutorial. Il fait suite à la discution commencée sur le topic d'XChat

Pour faire fonctionner coolchan, il suffit de télécharger http://theocrite.free.fr/INpact/chat/coolchan.py et le fichier d'exemple http://theocrite.free.fr/INpact/chat/coolchannels (optionnel, il sera recréé lors de la fermeture d'Xchat sinon). Mettre ces fichiers dans ~/.xchat2 et faire /coolchan HELP. Un tutorial détaillé est disponible plus loin.

Plan

  • Historique
  • Et l'unicode fût (le futur)
  • Tutoriel (linux, et windows)
  • Liste de compatibilité

Historique

Un charset c'est une représentation des données. Ça s'applique à ce qu'on écrit.

L'unicode permet beaucoup plus de choses que l'iso de base.

L'avant (ASCII)

Dans les temps anciens, au début de l'informatique, il n'y avait que de l'ASCII (American Standard Code for Information Interchange) pur. Comme son nom l'indique, l'ASCII ne permet de représenter que des caractères américains. Les 128 caractères représentables en ASCII sont les suivants (plus quelques caractères non imprimables):

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

Ce qui est bien pour écrire en anglais, mais qui est fortement limité.

L'ensuite (iso)

On a alors eu le droit à des extensions de l'ASCII avec notamment l'ISO 8859-1 (latin1) et l'ISO 8859-15 (latin9 ou latin0). Ces deux charsets apportent des caractères manquant dans la plupart des pays ouest européens. Le second une extention du premier et est préférable en français car il rajoute les caractères €, Œ, œ et Ÿ. (Si le Ÿ est utilisé en français).

C'est actuellement (malheureusement) encore le charset dominant.

Et l'unicode fût (le futur)

Pour remédier à ces problèmes de charsets qui se traînent des limitations historiques et dont on fait des extensions d'extensions, l'unicode a fait son apparition. Unicode permet de représenter toutes les lettres, tous les glyphes, les idéogrammes... de toutes les langues, de nombreux signes, opérateurs mathématiques, les signes astrologiques, du braille, de l'alphabet phonétique, des chiffres romains, ... (∉, ∞, ∭, ≉, ⌚, ☎, ♙, ♚,♣,♤, ❽, ⣇, ⣈, ⻳, ⺤, β, ə, ℕ, ♩♪♫♬♭♮♯, ☯, ☮).

Bref dans un monde parfait, tout le monde devrait utiliser de l'unicode et il n'y aurait plus de problèmes.

coolchan à été créé pour faciliter la migration des chans vers utf-8 en douceur. Il a été créé à une époque où le client IRC le plus dépendu ne supportait pas encore l'utf8.

Tutoriel

  • Coolchan est un petit script pour utiliser plusieurs charsets par serveur. Il est écrit en python, il faut donc :
    • Windows : au moment de l'installation de xchat, choisir le plugin python, et installer Active Python (voir les instructions de xchat. si vous avez déjà installé xchat il suffit de le désinstaller et de le réinstaller, sans pour autant perdre vos réglages :eeek2:)
    • Linux : Vérifier que le plugin python est installé : Fenêtre => "greffons et scripts" (paquet xchat-python sous Mandriva, de base sous Debian).

    [*] Configurer les salons que vous voulez rejoindre (voir le topic d'XChat pour plus de détails). Lorsque coolchan sera chargé, il passera les chans en utf-8. Ce sera l'encodage par défaut pour la réception. Pour ne pas ennuyer les salons qui sont encore majoritairement en iso-8859-1(5), ce dernier est l'encodage utilisé pour l'émission de donnés (en fait c'est de l'utf-8 réencodé à la volée en iso). coolchan permet d'envoyer en utf-8 sur les chans désirés. Dans ce cas c'est du full utf-8 (en émission et en réception).

    [*] télécharger les 2 fichiers suivant :

    [*] les placer dans votre dossier de configuration de xchat qui est :

    • Unix, Linux, MacOs, bsd... : ~/.xchat2
    • Windows : C:\Documents and Settings\<USER>\Application Data\X-Chat 2
      Placer les scripts dans ce répertoire assure qu'ils seront automatiquement chargés au prochain démarrage.

    [*] puis relancer xchat.

    Note : Pour la première fois il n'est pas nécessaire de relancer xchat. Il est possible de charger à chaud un script en précisant son path dans le menu fenêtre => greffons et scripts. Ceci n'assure pas qu'il sera chargé au démarrage. Pour cela il faut toujours le placer dans le répertoire d'xchat.

    [*] pour ajouter un chan à la liste des chan en utf-8 pour l'écriture, il y a deux méthodes :

    • méthode la plus simple car directe : taper "/coolchan on" (sans les guillemets) dans la boite de dialogue de xchat, une fois sur le chan qui doit être en utf-8
    • méthode la plus "compliquée" mai la plus efficace s'il y a beacoup de chans à configurer. éditer le fichier coolchannels avec votre éditeur de texte préféré (vi, notepad2, etc) et ajouter les chans qui sont en utf-8,un par ligne, avec la syntaxe "Réseau #salon". par exemple : "Teepi #pcinpact-linux" sachant que Réseau est le nom exact du serveur que vous avez dans la liste de réseaux.
    • Ces deux méthodes supposent que le serveur est enregistré (menu xchat => Network list). Si le serveur a été accédé par la main et pas via la configuration normale, il n'est pas identifié (NETWORK) et ne peux pas différentier les servers.

    [*] Liste des fonctions de coolchan accessibles :

    • "/coolchan on" ajoute le chan courant à la liste des chans cools (ceux qui supportent l'utf8)
    • "/coolchan off" fait l'opération inverse
    • "/coolchan list" affiche la liste des chans qui sont sympa
    • "/coolchan help"... Vous devez bien avoir une petit idée non ?

D'autres options sont à venir.

Pour les features requests, il suffit de laisser un message dans le topic.

Liste de compatibilité

Coolchan est connu pour fonctionner sur :

  • Debian GNU/Linux (etch) 2.6.15 / Xchat 2.6.4
  • Ubuntu GNU/Linux (dapper) 2.6.15 / Xchat 2.6.1
  • Mandriva 2007 / xchat-2.6.6-3mdv2007.0
  • Gentoo / xchat 2.6.8
  • Mac OS X 10.4.7 / Xchat Aqua : 0.15.2
  • Windows XP / Xchat 2.6.4-1 de Silverex
  • Windows XP / Xchat 2.6.5a du site officiel.

Coolchan ne semble pas fonctionner sur :

  • Windows XP / Xchat 2.6.7a du site officiel.

TODO :

Ce qu'il est possible de faire avec l'utf-8

Problèmes de migration, Solution

Alternatives : Irssi + recode, chatzilla (czpci)

Lien vers le commentaire
Partager sur d’autres sites

j'ai corrigé un bug et une erreur de frappe dans coolchan.py

voila un diff :

138c138
<       if len(coolhannels) > 0:
---
>       if len(coolchannels) > 0:
141c141
<         print pair[1] + "@" + pair[0]
---
>             print pair[1] + "@" + pair[0]
143c143
<         print "Usage : /coolchan {on|off|liste|help}"
---
>         print "Usage : /coolchan {on|off|list|help}"

:craint:

Lien vers le commentaire
Partager sur d’autres sites

Xchat gère un charset par channel, mais pas à la connexion...

Il y a toujours moyen d'exécuter la commande "/charset ..." pour changer pour le salon en cours.

/charset s'applique à tout le serveur, contrairement à chatzilla.
j'ai corrigé un bug et une erreur de frappe dans coolchan.py

voila un diff :

138c138
<	   if len(coolhannels) > 0:
---
>	   if len(coolchannels) > 0:
141c141
<		 print pair[1] + "@" + pair[0]
---
>			 print pair[1] + "@" + pair[0]
143c143
<		 print "Usage : /coolchan {on|off|liste|help}"
---
>		 print "Usage : /coolchan {on|off|list|help}"

:smack:

Salut,

merci pour le diff. :smack:

Par contre pour l'indentation du print, je ne vois pas :birthday:

Pour le reste, j'ai pris en compte les modifications.

Sinon, je n'ai jamais fait de python sous windows et je n'ai pas l'intention d'en installer un chez moi, alors si quelqu'un a une idée...

Ah, et aussi, normalement pour rajouter python et perl, pas besoin de désinstaller, il suffit de les rajouter en tant que script et plugins (ou greffons comme ils ont traduit).

Lien vers le commentaire
Partager sur d’autres sites

je m'étais d'ailleurs posé la question ... mais bon, c'est vite fais de desintallé,réinstaller ...

pour le lien du script modifié, c'est toujours le même ? que je teste quand même au cas ou ça soit solutionné

sinon le problème de l'utf touche surtout les pingouins mais vu qu'on ne choisit pas toujours l'OS duquel on t'chat :birthday:

Lien vers le commentaire
Partager sur d’autres sites

(faut voir si après la correction d'an0nyme ça va marcher .. si c'est lié ou non ..... tu nous tiens au courant theo ?)

Non, il n'y a pas de raisons parce que

1/ Cette partie n'est utilisé que quand on tape /coolchan list

2/ Normalement, c'est interprété par le soft et c'est censé être dépendant de l'OS en offrant une couche d'abstraction. Ce genre de problèmes ne devrait pas exister...

Sinon oui, le lien est le même : http://theocrite.free.fr/INpact/chat/coolchan.py

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Pour que ça nous dise si il n'y a aucun chan de listé (et ne pas juste ne rien faire...)

--- coolchan.py.ori	2005-10-04 01:50:10.000000000 +0200
+++ coolchan.py	2005-10-25 18:50:46.000000000 +0200
@@ -139,6 +139,8 @@
        print "Liste des chans cool :"
        for pair in coolchannels:
   print pair[1] + "@" + pair[0]
+      else:
+        print "Aucun chan cool dans la liste."
    elif word[1] == "help" or word[1] == "aide":
    print "Usage : /coolchan {on|off|list|help}"
    print ""

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Quelqu'un a essayé coolchan avec Xchat pour osx?

Jvoudrais des retours avant de tester :chinois:

tu ne perds rien à essayer : au pire ça te fera bugger ton xchat comme sous windows (fermeture de la fenêtre xchat quand tu veux envoyer un message) ... et tu as juste à supprimer les fichiers .py et jesais plus quoi de ton dossier xchat pour que le script ne se relance pas au démarrage :transpi:

Lien vers le commentaire
Partager sur d’autres sites

theocrite... y'a un problème : le script ne marche pas si il y a un espace dans le nom du serveur (c'est mon cas...) :modoreussi:

EDIT : je suis dessus j'ai presque fini...

EDIT2 : voilàààà

Bon j'ai remplacé les espaces par des tab dans le fichier de config (on ne peut pas mettre de tab dans la liste des serveurs de xchat donc normalement c'est bon)

Après j'ai mis simplifié la sauvegarde des fichiers, maintenant ça met un retour à la ligne systématiquement, c'est plus propre dans le code (code en moins) et dans le fichier (cat inside :censored:).

(et ça rajoute juste une ligne au chargement donc c'est raisonnable)

Et accessoirement j'ai corrigé une indentation...

--- coolchan.py.ori	 2005-10-25 20:14:57.000000000 +0200
+++ coolchan.py 2005-11-19 00:32:44.000000000 +0100
@@ -140,7 +140,7 @@
	 for pair in coolchannels:
	  print pair[1] + "@" + pair[0]
   else:
-		  print "Aucun chan cool dans la liste\n"
+		print "Aucun chan cool dans la liste."
 elif word[1] == "help" or word[1] == "aide":
	  print "Usage : /coolchan {on|off|list|help}\n"
	  print "coolchan est un script python qui permet d'utiliser simultanément l'utf-8 et l'iso-8859-15 sur le même serveur. Il nécessite de régler le charset par défaut sur utf-8, ce sera l'encodage utilisé pour la réception. L'envoi sera réencodé en iso, sauf pour les chans ajouté dans la liste des chans cools"
@@ -163,13 +163,8 @@
 if len(coolchannels) == 0:
   chanfile.close()
   return
-	first = True
 for pair in coolchannels:
-	  if first:
-		chanfile.write(pair[0] + " " + pair[1])
-	   first = False
-	  else:
-		chanfile.write("\n" + pair[0] + " " + pair[1])
+	  chanfile.write(pair[0] + "\t" + pair[1] + "\n")
 chanfile.close()
  except IOError:
 print "coolchan: Erreur: Impossible d'ecrire le fichier de configuration"
@@ -182,7 +177,8 @@
  chanfile.close()
  if not templist == ['']:
 for channel in templist:
-	  coolchannels.append(channel.split(" "))
+	  if not channel == '':
+		coolchannels.append(channel.split("\t"))
  del chanfile
  del templist
except IOError:

(j'envoie aussi directement le fichier à theo par mail...)

Lien vers le commentaire
Partager sur d’autres sites

Suite au post de ex-floodeur, avant le post de TuXXX

http://inconnu.isu.edu/~ink/new/projects/xchat-xmms/

http://rousse.pm.org/~georgi/xmms/xmms-tool.tar.gz

http://apz.fi/apz/xchat2/xmmsrcs/

....

http://scripts.xchat.org/cgi-bin/search?st...0&Submit=Search

Si tu y tiens vraiment :|

TuXXX : :non:

C'est à jour sur le ftp. :francais:

Malheureusement je ne passe plus tellement sur l'irc, donc j'ai pas tellement l'occasion de débugger et d'ajouter des features...

Deuxième post, suite au post de TuXXX :

;)

C'est quoi ce binz ?

L'url a merdé lors de la migration, c'est déjà arrivé. Mais le pire c'est que même quand j'édite, ça rechie après ? :zarb: :spicedicounasse:

Saloperie d'IPB ;)

Bon, je laisse Scara gérer ça, elle va bien trouver une solution :|

EDIT : Ça fait bizzare je viens juste de poster, mais le dernier message n'est pas de moi... le temps de charger la page. Moins d'une seconde, pas mal :D

EDIT : Han l'enfoiré, quand je reposte moins de 10 minutes après il combine les deux messages ensemble et il les place après les messages postés entre les deux. Je ne connaissait pas ça :D

Lien vers le commentaire
Partager sur d’autres sites

:eeek2:

bon, comme je l'avais suggéré y'a quelques temps un topic dédié pour ce script n'est pas du luxe avec le modifs, améliorations apportés au fur et à mesure .. donc j'ai mis les posts ayant un rapport avec ça dans ce topic (en provenance du topic tuto xchat pour ceux qui n'ont pas suivit :eeek2: )

theo : tu pourrais modifier ton premier post pour expliquer ce que c'est en fait plus en détail et mettre un :arro:w (et enlever la faute d'ortho dans le titre) ? :craint:

je comptais le faire après avoir splité le topic mais je pensais plus que ici j'avais pas de droits :reflechis:

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

J'ai trouvé un bug (disons une fonction non implémentée...)

Quand on se connecte à un serveur, coolchan met le charset en utf-8

Mais à priori il le fait trop tôt, et quand xchat se connecte et met le charset par défaut du serveur.

Sans compter que lorsqu'on se connecte à d'autres serveurs en plus, ils ne sont pas non plus en utf-8.

:francais:

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 4 semaines après...

Un ptit message juste pour dire que je "crois" avoir trouvé un bug dans coolchan

Je dis je crois, car c'est une bete observation, j'ai pas été voir dans le code :)

Le problème : il s'agit du changement d'un topic à partir de xchat, apparement, il l'envoie en utf et ca fait pas bo quand on le vois en iso ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...
  • 2 semaines après...

Bonjour,

J'ai decouvert ce formidable script qu'etait coolchan recemment... et il me convenait a la perfection ! Mais voila, aujourd'hui je suis passé a la derniere version de Xchat, soit la 2.6.7a et la : ça ne fonctionne plus.

Il m'affiche bien le message disant que le script est bien chargé, mais quand je tape du texte, il est envoyé un UTF8 et non en ISO comme le script devrait le faire... Avec l'ancienne version (2.6.4) ça fonctionnait bien, mais la nouvelle est plus jolie et j'aimerais bien la conserver pour éviter certains bugs de l'autre.

Conclusion : quelqu'un a t-il une idée pour faire refonctionner coolchan dans Xchat 2.6.7a ?

Car je ne sais malheureusement pas coder en python, donc je n'ai pas la moindre idée de la source du problème.

Merci d'avance :)

Lien vers le commentaire
Partager sur d’autres sites

Tu n'as pas d'erreurs ?

C'est sur quelle distribution ?

Où est ce que tu as récupéré la version 2.6.7 ? La dernière version stable est la 2.6.6[1]. Et sur le cvs, je n'ai trouvé des mentions que de 2.6.4, 2.6.6 et 2.6.X.

Essaye la 2.6.6, pour voir si cela fonctionne.

[1] http://www.xchat.org/download/

[2] http://xchat.cvs.sourceforge.net/xchat/xch...amp;view=markup

Pour info, je vais être absent une semaine, donc je ne pourrais pas vraiment regarder ça avant (ceci dit, il y a plein de gens qui lisent le python sur ce forum et qui ont probablement une version plus uptodate que moi).

Par curiosité, c'est pour aller sur quel serveur ?

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...