瀏覽代碼

Kommandozeilenargumente
- Datenbankdatei übergeben über Kommandozeile
- debug funktion
- debug schalter


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

devnull 4 年之前
父節點
當前提交
0f7fe1b268
共有 1 個文件被更改,包括 18 次插入3 次删除
  1. 18 3
      ContactRescue.py

+ 18 - 3
ContactRescue.py

@@ -1,3 +1,4 @@
+# coding=utf-8
 # Doc
 #  Script to extract Contacts from Sailfish Contact SQLite DB located at 
 #
@@ -12,8 +13,22 @@
 import sqlite3
 import vobject
 import uuid
+import argparse
 
-SQLconn = sqlite3.connect('Testdata/contacts_with-Phone-Mobile-Fax-Pager-Assistent.db')
+def DEBUG(debug,msg):
+    if debug is not None:
+        print("..DEBUG: " + msg)
+
+
+parser = argparse.ArgumentParser(description='Restore SailfishOS 3 Contacts', epilog='This script was written to restore SailfishOS 3 contacts as VCF files. To see additional information, visit: https://wiki.siningsoft.de/doku.php?id=sailfishos:projects:sailfish_contacts_rescue' )
+parser.add_argument('--db','-d', help="Sqlite3 Database file usually /home/{nemo,defaultuser)/.local/share/system/Contacts/qtcontacts-sqlite/contacts.db")
+parser.add_argument('--output','-o',help="Output directory for vcf files")
+parser.add_argument('--debug',action="store_true",help="debugging output to identify problems")
+args = parser.parse_args()
+
+
+
+SQLconn = sqlite3.connect(args.db)
 
 
 try:
@@ -31,7 +46,7 @@ try:
             vcf.add('n').value = vobject.vcard.Name( family=row[6], given=row[4] )
             vcf.add('fn').value =row[1]
             
-            print("debug: Contact " + row[1])
+            DEBUG(args.debug,"Contact " + row[1])
             
             
             SQLADRCur = SQLconn.cursor()
@@ -68,7 +83,7 @@ try:
             for Emailrow in SQLEmailCur.execute('SELECT * from EmailAddresses JOIN Details on Details.detailId= EmailAddresses.detailId where EmailAddresses.contactId = ' + str(contactID)):
                 
                 # debug ausgabe
-                print("...debug: " + str(Emailrow[2]) + " at " + str(Emailrow[9]))
+                DEBUG(args.debug,str(Emailrow[2]) + " at " + str(Emailrow[9]))
                 
                 email = vcf.add('email')
                 email.value = str(Emailrow[2])