Bonjour !
Cette nouvelle discussion fait suite à
celle-ci. Il s'agissait de trouver quoi faire de toutes les adresses Jabber données sur le forum.
J'ai commencé par créer
une nouvelle page sur le Wiki pour y inscrire toutes les adresses données dans
le sujet original. Celle-ci doit permettre à tout le monde de rajouter/modifier/supprimer soit-même son adresse dans cet annuaire.
Ensuite, j'ai fait un script qui ajoute automatiquement les adresses trouvées sur cette page à votre liste de contacts, dans un groupe de votre choix.
C'est un script python:
# -*- coding:Utf-8 -*-
#Ajout d'une liste d'adresse Jabber
#auteur: pnprog AT no-log DOT org
#fichier: ubuntu_jabber_id.py
#version: 0.2
#ce script est proposé sous licence GPL2 (General Public License)
import re,urllib,sys
from xmpp import JID
from xmpp import Client
from time import sleep
########################################################################
############# Récupération des adresses depuis le wiki #################
########################################################################
url_adresses="http://doc.ubuntu-fr.org/annuaire_jabber"
#on récupère toutes les adresses
print " * Récupération depuis",url_adresses,'...'
page=urllib.urlopen(url_adresses)
print " * Extraction des adresses..."
#http://www.commentcamarche.net/forum/affich-73299-python-email-extractor
liste_adresses=re.findall('([\w\.\-]+@[\w\.\-]+)',page.read())
#on supprime les doublons
nouvelle_liste=[]
while liste_adresses != []:
adresse=liste_adresses[0]
nouvelle_liste.append(adresse)
while adresse in liste_adresses:
liste_adresses.remove(adresse)
print " *",len(nouvelle_liste),"adresses Jabber récupérées."
if len(nouvelle_liste)<=0:
sys.exit()
########################################################################
###################### Connexion au compte Jabber ######################
########################################################################
#http://lucumr.pocoo.org/2006/10/22/transfering-jabber-rosters
print " * Assurez-vous de ne pas être actuellement connecté à Jabber."
print " * Entrez votre adresse Jabber:"
adresse=raw_input()
print " * Entrez votre password:"
password=raw_input()
groupe=""
while groupe=="":
print " * Entrez un groupe où enregistrer vos contacts (ex: Ubuntu-fr)"
groupe=raw_input()
print " * Connexion à votre serveur Jabber..."
jid = JID(adresse)
client = Client(jid.getDomain(), debug=[])
if not client.connect() or not client.auth(jid.getNode(), password):
print ' * Ne peut pas se connecter au serveur'
sys.exit()
print " * Récupération de votre liste de contacts"
roster = client.getRoster()
#on récupère la liste des contacts actuels pour ne pas en réinscrire certain plusieurs fois
anciens_contacts=roster.getItems()
#on ajoute sa propre adresse à cette liste, pour ne pas s'ajouter comme contact
anciens_contacts.append(adresse)
########################################################################
######################## Ajout des adresses ############################
########################################################################
for adresse in nouvelle_liste:
if adresse not in anciens_contacts:
print " * Ajout de",adresse
roster.setItem(adresse, None, [groupe])
roster.Authorize(adresse)
roster.Subscribe(adresse)
#On attends un peu pour ne pas surcharger le serveur
sleep(1)
Mode d'emploi
* Créez un fichier
ubuntufr_jabber_id.py dans votre dossier personnel et copiez y le contenu du script.
* Ouvrez un terminal.
* Installez les paquets python-dns et python-xmpp:
sudo apt-get install python-xmpp python-dns
* Lancez le script:
python ubuntufr_jabber_id.py
* Le programme commence par récupérer les adresses présentes sur l'annuaire du Wiki.
* Il vous demande ensuite votre adresse jabber et le mot de passe pour se connecter.
* Il vous demande ensuite le nom d'un groupe pour y ranger ces contacts. Cela peut être un groupe existant ou non.
* Il se connecte ensuite à votre serveur Jabber et ajoute les adresses que vous n'avez pas déjà.
Je force la création d'un groupe car ça permet par exemple de cacher ou supprimer facilement ces contacts. Vous pouvez lancer régulièrement ce script pour rajouter les nouveaux inscrits de l'annuaire.
Voilà voilà...
PS: Est-ce qu'un modérateur pourrait clôturer
ce thread, et modifier le premier message pour renvoyer vers l'annuaire ?