DMT bookmarks-sqlite
Diese Skripte:
- lesen Firefox-sqlite-Lesezeichen aus
- entfernen "interne" Lesezeichen
- und exportieren in Ordnern aufgeräumte Lesezeichen als Webseite.
Das Problem
Der Export der alten Firefox-hmtl-Bookmarks als Webseite nach meinem Gusto war per php eine einfache Sache.
Die Aufgabe gestaltet sich schwieriger, wenn diese Lesezeichen in einer sqlite-Datenbank (places.sqlite) vorliegen.
bookmarks-sqlite: Beteiligte Dateien
check-running-gui.sh
Das Bash-Shellskript check-running-gui.sh
wird durch bookmarks-export.sh
aufgerufen.
So kann unterschieden werden, ob der Aufruf über die grafische Benutzeroberfläche (GUI) oder die Kommandozeile (Shell) erfolgt.
bookmarks-export.sh
Das Bash-Shellskript bookmarks-export.sh
prüft die Art des Aufrufs und steuert mit einigen Angaben das eigentliche php-Skript an.
Hinterlegt sind folgende Angaben:
- PHP_SCRIPT: Pfad und Name zu
bookmarks_sqlite.php
- SOURCE_FILE: Pfad und Name zur
places.sqlite
-Datenbank im Firefox-Profil-Ordner - TARGET_FILE: Pfad und Name zur Lesezeichen-Webseite meiner lokalen Webspace-Kopie
- TEMPLATE_FILE: Pfad und Name zur Vorlagen-Webseite, deren html-Navigation übernommen werden soll
- REMOVEWHITESPACE: 0/1-Angabe zur Entfernung von Whitespace in der Ausgabe-Datei
bookmarks_sqlite.php
Das PHP-Skript bookmarks_sqlite.php
ist ein Wrapper mit Einstellungen und dem eigentlichen Programmablauf.
bookmarks_sqlite_functions.php
Das PHP-Skript bookmarks_sqlite_functions.php
enthält die benötigten PHP-Funktionen.
Selbstverständlich müssen die Angaben im Abschnitt REPLACEMENTS an ein eigenes Template angepasst werden.
Tipps
Solange noch nicht alles rund läuft, sollte das Skript am Besten auf der Kommandozeile aufgerufen werden.
So sieht man alle Ausgaben (inkl. Fehler) der beteiligten Komponenten.
Von einer bereits existierenden Ausgabe-Zieldatei würde ich vor dem ersten Lauf eine Sicherheitskopie anlegen.
Das PHP-Skript bookmarks_sqlite.php
kennt diverse Konstanten, anhand derer Bookmark-Ordner nicht exportiert werden:
- INTERNAL_FLAG: "private" Kennzeichnung "interner" Lesezeichen-Ordner
- DEFAULT_TEMP: "private" Kennzeichnung temporärer Lesezeichen-Ordner
- DEFAULT_TEMP_SUBMENUE: Kennzeichnung von Ordner-Defaultnamen beim gleichzeitigen Anlegen mehrerer Lesezeichen
Die so ermittelten Lesezeichen werden in einer temporären sqlite-Datenbank gespeichert, wo sie einfach kontrolliert werden können.
Download
- check-running-gui.sh: das Bash-Shellskript unterscheidet den Aufruf über GUI oder Shell
- bookmarks-export.sh: das Bash-Shellskript zum Aufruf
- bookmarks_sqlite.php: php-Skript zum Auslesen und Export der sqlite-Lesezeichen
- bookmarks_sqlite_functions.php: php-Skript mit den verwendeten Funktionen