Telefonbuch aus MySQL Datenbank

JanG80

Mitglied
Mitglied seit
12 Jun 2008
Beiträge
241
Punkte für Reaktionen
0
Punkte
16
Ich habe ein Python Script geschrieben, das aus einer MySQL Adressdatenbank eine .VCF Datei erstellen kann, die man im C450IP einstpielen kann. Eventuell gibt es sowas ja auch schon, aber ich wollte es nicht vorenthalten:

Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import MySQLdb, sys, codecs, os

connection = MySQLdb.connect(host   = "localhost",
                             user   = "dbbenutzer",
                             passwd = "passwort",
                             db     = "datenbank",
                             use_unicode = True,
                             charset='utf8'
                             );
cursor = connection.cursor()
cursor.arraysize = 50
sql="SET NAMES 'utf8'"
cursor.execute(sql)
sql="select vorname,nachname,home_phone,work_phone,cell_phone from contacts order by nachname"
cursor.execute(sql)
row=cursor.fetchall()
fp=codecs.open('/var/www/gigaset.vcf','w','iso-8859-1')

def writenumber(vorname,nachname,nummer,art):
    fp.writelines("BEGIN:VCARD\n")
    fp.writelines("VERSION:2.1\n")
    fp.writelines("FN:"+vorname[0]+"."+nachname[0:11]+" "+art+"\n")
    fp.writelines("N:"+vorname[0]+"."+nachname[0:11]+" "+art+"\n")
    fp.writelines("TEL;HOME:"+nummer+"\n")
    fp.writelines("END:VCARD\n")
    fp.writelines("\n")


for a in row:

    vorname = a[0]
    nachname = a[1]

    if (a[2]!=''):
        writenumber(vorname,nachname,a[2],"P")
    if (a[3]!=''):
        writenumber(vorname,nachname,a[3],"A")
    if (a[4]!=''):
        writenumber(vorname,nachname,a[4],"H")

fp.close()
os.system("todos /var/www/gigaset.vcf")

Natürlich müsste das Script noch angepasst werden, damit es mit einer anderen Datenbank (mit anderen Feldern) funktioniert. Aber eventuell hilft der Ansatz ja schon jemandem weiter...
 
Du bist mein persönllicher Tagesheld.

Nicht das ich die Funktion sofort brauchen kann aber ich sehe jetzt schon Einsatzgebite wo es Sinn machen würde.
 
Schade das ich da absolut keinen Plan von habe.:(
Ich suche nach der Möglichkeit mein Telefonbuch aus der FritzBox oder besser aus Outlook an das Gigaset C450 IP zu übertragen.
 
Die Kontakte aus Outlook sollten eigentlich kein so großes Problem sein. Du kannst die Kontakte als VFC Datei exportieren und dann über das Webinterface importieren. Ich habe nur keine Ahnung, wie man das automatisieren kann...

Zur Frotzbix kann ich nichts sagen, weil ich nicht weiß, in welchem Format da die Kontakte gespeichert werden.
 
Tja, das hilft mir auch nicht wirklich weiter, wenn du mir nicht sagen kannst wie.
 
Ich habe mir das aus Neugier mal angeschaut:

Du kannst mir folgender Anleitung alle Kontakte als VCF exportieren. Geht übrigens auch mit Outlook 2007.

Im Gegensatz zu den Gigaset Geräten kann Outlook nur mit einem Kontakt pro vcf File umgehen. Um die Kontakte bequem importieren zu können, kann man aber aus allen vcf Files eines machen. Angenommen deine gerade exportieren Dateien liegen in c:\temp. Dann kannst du mit fogendem Befehl eine Datei daraus machen:

Code:
copy c:\temp\*.vcf c:\temp\master.vcf

Ich habe nicht getestet, ob sich die Datei fehlerfrei importieren lässt, aber ich gehe stark davon aus. Kannst dích ja mal melden, ob es funktioniert hat. ;)
 
Ja aber wie importiert man das denn überhaupt?
Ach und mit dem Link kann ich auch nichts anfangen, denn das finde ich in meinem Outlook so nicht und ich habe Outlook 2007.
Die Beschreibung ist für Outlook 2003!
 
Zuletzt bearbeitet:
Du musst schon ein bißchen gucken. Ich habe auch Outlook 2007 und es gerade damit getestet. Alle Kontakte makieren, einen mit der rechten Maustaste anklicken... ;)

Importieren kannst du die Kontakte über die Weboberfläche von der Gigaset Station.
 
Na toll, ich finde da aber nichts zum Export aus Outlook, nur zum Import.
 
Wie gesagt...alle Kontakte markieren. Rechtsklick => Als Visitenkarte senden.
 
Ja und wohin senden? Ich weiß, ich habe nun mal keine Ahnung!
 
Irgendwie habe ich das Gefühl, dass du die Anleitung in dem Link nicht wirklich verstanden hast. :p
Du sollst die Mail nicht abschicken! Wenn sich das Fenster mit der neuen Mail öffnet, markierst du die ganzen Anhänge => Rechtsklick => kopieren. Dann kannst du sie in irgendeinem Ordner einfügen. Dann mit Copy die Dateien wie oen beschrieben zusammenfügen und danach über das Webinterface importieren. Ich hoffe der Groschen ist jetzt gefallen. Ist aber auch schon spät. ;)
 
Und, hat es funktioniert? Wäre vielleicht auch für andere interessant! ;)
 
Ich habe es probiert. Es funktioniert grundsätzlich. Leider werden Vor- und Familienname durch ein Semikolon getrennt und für den Namen steht zu wenig Platz zur Verfügung. Aber das ist halt systembedingt. Hat ein Eintrag mehrere Rufnummern (Handy, Festnetz,...) werden mehrere Einträge angelegt.
 
Was für ein Mobilteil hast du benutzt? C47H?
 
Nein, ich habe es mit einem S45 probiert das bei mir am Schreibtisch steht.
 
Ok, bei meinem C47H siehts nämlich auch so aus. Schade, dass es pro Kontakt nur eine Nummer gibt. Das Probem mit den zu langen Namen habe ich in meinem Script gelöst, indem ich die abkürze. Aber so richtig gut sieht das auch nicht aus.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.