Bläddra i källkod

Name und eine E-Mail-Adresse lässt sich exportieren.
Eine valide VCard kann erzeugt werden.


git-svn-id: svn://svn.siningsoft.de/Sailfish_Contacts_Restore@4 9ea9dde1-eeb2-4aae-9f27-8a0df3aa35ee

devnull 4 år sedan
förälder
incheckning
4a16d037b2

+ 13 - 0
Testdata/multiMail-Add_Tel.vcf

@@ -0,0 +1,13 @@
+BEGIN:VCARD
+VERSION:4.0
+EMAIL;PREF=1:Email1@dummyuser.com
+EMAIL:Email2@dummyuser.com
+FN:Vorname DummyUser Nachname DummyUser
+BDAY;VALUE=DATE:-1-04-08
+N:Nachname DummyUser;Vorname DummyUser;;;
+ADR:;Adresszusatz;Privatstraße 1;Testort;Testbundesland;00112;Testland
+TEL;TYPE=home;VALUE=TEXT:0049234567890
+TEL;TYPE=work;VALUE=TEXT:0049123456789
+TEL;TYPE=cell;VALUE=TEXT:0049345678901
+UID:a7e8217c-84e6-4367-8452-e380c9bca7a1
+END:VCARD

+ 17 - 0
Testdata/multiMail-Add_Tel_Firma.vcf

@@ -0,0 +1,17 @@
+BEGIN:VCARD
+VERSION:4.0
+EMAIL;PREF=1:Email1@dummyuser.com
+EMAIL:Email2@dummyuser.com
+FN:Vorname DummyUser Nachname DummyUser
+BDAY;VALUE=DATE:-1-04-08
+N:Nachname DummyUser;Vorname DummyUser;;;
+ADR;TYPE=home:;Adresszusatz;Privatstraße 1;Testort;Testbundesland;00112;Tes
+ tland
+ADR;TYPE=work:;Adresszusatz 2;TestFirmenstraße 10;TestFirmenStadt;TestFirme
+ nbundesland;11223;TestFirmenLand
+TEL;TYPE=home;VALUE=TEXT:0049234567890
+TEL;TYPE=work;VALUE=TEXT:0049123456789
+TEL;TYPE=cell;VALUE=TEXT:0049345678901
+URL;VALUE=URL:www.TestFirma.com
+UID:a7e8217c-84e6-4367-8452-e380c9bca7a1
+END:VCARD

+ 11 - 0
Testdata/multiMail-Tel.vcf

@@ -0,0 +1,11 @@
+BEGIN:VCARD
+VERSION:4.0
+EMAIL;PREF=1:Email1@dummyuser.com
+EMAIL:Email2@dummyuser.com
+FN:Vorname DummyUser Nachname DummyUser
+N:Nachname DummyUser;Vorname DummyUser;;;
+TEL;TYPE=home;VALUE=TEXT:0049234567890
+TEL;TYPE=work;VALUE=TEXT:0049123456789
+TEL;TYPE=cell;VALUE=TEXT:0049345678901
+UID:a7e8217c-84e6-4367-8452-e380c9bca7a1
+END:VCARD

+ 8 - 0
Testdata/multiMail.vcf

@@ -0,0 +1,8 @@
+BEGIN:VCARD
+VERSION:4.0
+EMAIL;PREF=1:Email1@dummyuser.com
+EMAIL:Email2@dummyuser.com
+FN:Vorname DummyUser Nachname DummyUser
+N:Nachname DummyUser;Vorname DummyUser;;;
+UID:a7e8217c-84e6-4367-8452-e380c9bca7a1
+END:VCARD

+ 16 - 4
test/vcfExport_1.py

@@ -1,9 +1,15 @@
 # Doc
 #  Script to extract Contacts from Sailfish Contact SQLite DB located at 
+#
+#  
+# Links
+#  FileFormatdescription: https://docs.fileformat.com/email/vcf/#vcf-30-example
+#  Pytho vobject: http://eventable.github.io/vobject/
 # ChangeLog
 
 import sqlite3
 import vobject
+import uuid
 
 SQLconn = sqlite3.connect('../Testdata/system/Contacts/qtcontacts-sqlite/contacts.db')
 
@@ -17,6 +23,8 @@ try:
             contactID=row[0]
             
             vcf = vobject.vCard()
+            vcf.add('uid').value = str(uuid.uuid4())
+            #vcf.add('uid').value = "Testdaten"
             vcf.add('n')
             vcf.n.value = vobject.vcard.Name( family=row[6], given=row[4] )
             vcf.add('fn')
@@ -25,14 +33,18 @@ try:
             SQLEmailCur = SQLconn.cursor()
             ## Abfragen E-Mail-Adressen
             for Emailrow in SQLEmailCur.execute('SELECT * from EmailAddresses JOIN Details on Details.detailId= EmailAddresses.detailId where EmailAddresses.contactId = ' + str(contactID)):
+                
+                # debug ausgabe
+                print("debug: " + Emailrow[2])
+                
                 vcf.add('email')
                 vcf.email.value = Emailrow[2]
                 vcf.email.type_param = Emailrow[9]
 
 
-            vcf.prettyPrint()
-        
-            
-           
 except:
     print("Error in executing SQL")
+    
+
+print(vcf.serialize())
+