Beim Wechsel des Jabberservers trifft man unweigerlich auf das Problem, dass man seine Kontakte transferieren muss. Dazu gibt es zwei Möglichkeiten: Selber abtippen oder das passende Pythonmodul suchen und ein kleines Script damit schreiben. Natürlich wählt man die letztere Möglichkeit, auch wenn es dreimal so lange dauert ;)
Hier also das Resultat:
#!/usr/bin/python
from xmpp import *
import sys
print "Daten des alten Accounts:\nServer: ",
server1 = sys.stdin.readline()
print "Port: ",
port1 = sys.stdin.readline()
print "Nick: ",
nick1 = sys.stdin.readline()
print "Password: ",
pass1 = sys.stdin.readline()
print "Daten des neuen Accounts:\nServer: ",
server2 = sys.stdin.readline()
print "Port: ",
port2 = sys.stdin.readline()
print "Nick: ",
nick2 = sys.stdin.readline()
print "Password: ",
pass2 = sys.stdin.readline()
server1 = server1[:-1]
server2 = server2[:-1]
port1 = port1[:-1]
port2 = port2[:-1]
nick1 = nick1[:-1]
nick2 = nick2[:-1]
pass1 = pass1[:-1]
pass2 = pass2[:-1]
print "Source-Server: "+nick1+"@"+server1+":"+port1+"."
cl1=Client(server1,debug=[])
if not cl1.connect(server=(server1,int(port1))):
raise IOError('Can not connect first server.')
if not cl1.auth(nick1,pass1,'Account Moving Tool'):
raise IOError('Can not auth with first server.')
cl1.sendInitPresence()
cl1.Roster.getRoster()
tobeadded=[]
buddies = cl1.Roster.getItems()
for b in buddies:
print "Transfer "+b+"? [Yn]",
if sys.stdin.readline()[0] not in ["n","N"]:
tobeadded.append(b)
cl1.disconnect()
cl1=Client(server2,debug=[])
if not cl1.connect(server=(server2,int(port2))):
raise IOError('Can not connect first server.')
if not cl1.auth(nick2,pass2,'Account Moving Tool'):
raise IOError('Can not auth with first server.')
cl1.sendInitPresence()
for b in tobeadded:
print "Adding: "+b
cl1.Roster.Subscribe(b)
cl1.disconnect()
Gibt es auch zum Download.
Jabber-Kontake bei Serverwechsel transferieren...
Xenim zeigt uns in seinem Blogeintrag , wie man mit Python Kontakte von einem Jabber-Server transferieren kann. Dazu hat Xenim ein kleines Script in Python geschrieben, welches die Jabber-Kontakte transferiert.
Das Script erfordert das XMMP-Modul in...
Tut es nicht grundsätzlich. Ich benutze für Code-Snippets z.B. das Plugin WP-Syntax. Da hat man a) korrekte Einrückungen und b) auch noch Syntax-Highlighting dabei.