sailfishos:projects:sailfish_contacts_rescue

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
sailfishos:projects:sailfish_contacts_rescue [2021/08/05 08:03] – [ToDo] liste erweitert adminsailfishos:projects:sailfish_contacts_rescue [2021/09/18 09:30] – [Requirements] admin
Zeile 9: Zeile 9:
 ====== Solution ====== ====== Solution ======
 My Solution here is to restore the data with a python script, exporting it from the Sqlite database to .vcf (vCard File). My Solution here is to restore the data with a python script, exporting it from the Sqlite database to .vcf (vCard File).
-**This only works for DB Structures of SailfishOS and was especially tested with DBs of OS version 3.2.and 3.3.?**+ 
 +**This only works for DB Structures of SailfishOS and was especially tested with DBs of OS version 3.2.and 3.3.X** 
 + 
 +<WRAP center round info 20%> 
 +**Version 0.4 is the latest one.** 
 +</WRAP> 
  
 ===== Implementation ===== ===== Implementation =====
Zeile 20: Zeile 26:
 |sms number|{{:icons8-haekchen-128.png?nolink&30|}}| |sms number|{{:icons8-haekchen-128.png?nolink&30|}}|
 |e-mail addresses|{{:icons8-haekchen-128.png?nolink&30|}}| |e-mail addresses|{{:icons8-haekchen-128.png?nolink&30|}}|
-|Organization name|{{:icons8-loeschen-128.png?nolink&30|}}| +|Organization name|{{:icons8-haekchen-128.png?nolink&30|}}| 
-|Organization parameters|{{:icons8-loeschen-128.png?nolink&30|}}| +|Organization parameters|{{:icons8-haekchen-128.png?nolink&30|}}| 
-|picture / foto|{{:icons8-loeschen-128.png?nolink&30|}}|+|picture / foto|{{:icons8-haekchen-128.png?nolink&30|}}| 
 +|address|{{:icons8-haekchen-128.png?nolink&30|}}| 
 +|birthday|{{:icons8-loeschen-128.png?nolink&30|}}| 
 +|URL|{{:icons8-loeschen-128.png?nolink&30|}}| 
 +|Notes|{{:icons8-loeschen-128.png?nolink&30|}}|
  
 +===== Requirements =====
 +Install following Python Modules from PyPi
 +  * vObject
 +  * sqlite3
 +  * uuid
 +
 +===== execution Notes =====
 +<code | Help>$ ./ContactRestore.py --help
 +usage: ContactRestore.py [-h] --db DB --output OUTPUT [--avatars AVATARS] [--debug] [--version]
 +
 +Restore SailfishOS 3 Contacts
 +
 +optional arguments:
 +  -h, --help            show this help message and exit
 +  --db DB, -d DB        Sqlite3 Database file usually
 +                        /home/{nemo,defaultuser}/.local/share/system/Contacts/qtcontacts-
 +                        sqlite/contacts.db
 +  --output OUTPUT, -o OUTPUT
 +                        Output directory for vcf files
 +  --avatars AVATARS, -a AVATARS
 +                        Avatar directory. If present otherwise we skip this block of avatars, means, no
 +                        avatars at all
 +  --debug               debugging output to identify problems
 +  --version             show program's version number and exit
 +
 +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
 +
 +</code>
 +
 +<code | Execution>
 +$ ./ContactRestore.py -d Testdata/contacts_with-Phone-Mobile-Fax-Pager-Assistent-Addresses.db -o Testdata/Output/
 +exporting SiSo Emulator to file Testdata/Output//SiSo_Emulator.vcf
 +exporting TestUserFirstName TestUserLastName to file Testdata/Output//TestUserFirstName_TestUserLastName.vcf
 +exporting 2nd Test *FN* User *LN* to file Testdata/Output//2nd_Test_*FN*_User_*LN*.vcf
 +exporting Phone Test to file Testdata/Output//Phone_Test.vcf
 +exporting Ludowig Adressuser to file Testdata/Output//Ludowig_Adressuser.vcf
 +</code>
 ====== Database ====== ====== Database ======
 ===== Schema ==== ===== Schema ====
Zeile 29: Zeile 77:
  
 ===== table descriptions ===== ===== table descriptions =====
 +
 +==== Addresses ====
 +==== subTypes ====
 +The database is missing a table with subTypes to identify entries in Addresses.
 +To have a reference, here is a list of Types
 +
 +^subType^vCard/vobject parameter^SailfishOS Contact label^
 +|Null|personal|Personal Address|
 +|0| |parcel|
 +|1|cell|Cell Phone|
 +|2|fax|Fax|
 +|3|pager|Pager|
 +|6|video|Video|
 +|10|??|Assistent|
 +
 +
  
 ==== PhoneNumbers ==== ==== PhoneNumbers ====
Zeile 45: Zeile 109:
 ==== subTypes ==== ==== subTypes ====
 The database is missing a table with subTypes to identify entries in PhoneNumbers for example. The database is missing a table with subTypes to identify entries in PhoneNumbers for example.
-To have a databases, here is a list of Types+To have a reference, here is a list of Types
  
 ^subType^vCard/vobject parameter^SailfishOS Contact label^ ^subType^vCard/vobject parameter^SailfishOS Contact label^
Zeile 80: Zeile 144:
  
 ====== external Links ====== ====== external Links ======
 +  * great Fileformat description: https://de.wikipedia.org/wiki/VCard
   * FileFormatdescription: https://docs.fileformat.com/email/vcf/#vcf-30-example   * FileFormatdescription: https://docs.fileformat.com/email/vcf/#vcf-30-example
   * Python vobject: http://eventable.github.io/vobject/   * Python vobject: http://eventable.github.io/vobject/
 +  * vobject Code documentation: http://vobject.skyhouseconsulting.com/epydoc/
   * https://datatracker.ietf.org/doc/html/rfc6350   * https://datatracker.ietf.org/doc/html/rfc6350
  
 ====== ToDo ====== ====== ToDo ======
-  - ORG-PARAM parameters associated with organisation like role, etc. pp. 
-  - argparse implementation 
-  - logger implementation 
-  - DB Query, result and Object assignment to function 
   - fotos   - fotos
 +  - birthday
 +  - missing parameters for names
 +  - URL with parameters
  
 ====== source ====== ====== source ======
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

  • sailfishos/projects/sailfish_contacts_rescue.txt
  • Zuletzt geändert: 2021/10/15 10:32
  • von admin