Firefox Bookmark Backups konvertieren

Manchmal ist es notwendig, die Bookmarks eines alten Firefox-Profil in ein neues Profil zu übernehmen. Schlecht, wenn man dann nur noch die Sicherungsdateien hat, die als JSON abgespeichert werden. Importiert man diese mit Firefox, werden alle anderen Lesezeichen überschrieben. Das ist ärgerlich und überhaupt nicht elegant.
Ein Backup der Lesezeichen in einen Ordner zu kopieren, ist aber im Firefox nun mal nicht vorgesehen.

Da ich genau dieses Problem hatte, habe ich ein kleines Perl-Script geschrieben, das die eine JSON-Datei einliest und diese in der HTML-Bookmark-Format ausgibt.

Es benötigt lediglich JSON::XS und erzeugt nur eine Untermenge der möglichen Informationen, die im HTML-Bookmark-Format möglich wären.

Für alle Neugierigen ist hier der Source Code:

#!/usr/bin/perl -w

use strict;
use warnings;

use JSON::XS;

open(FILE, "bookmarks.txt") or die "Couldn't open file: $!";
my $content = <FILE>;
close(FILE);

my $decoded = JSON::XS->new->decode($content);

printHeader();
workChildren($decoded);

sub workChildren {
	my $element = shift;
	if($#{$element->{'children'}} > 0) {
		if ($element->{'title'} eq '') {
			$element->{'title'} = "Importiert";
		}
		print "<DT><H3 ADD_DATE=\"$element->{'dateAdded'}\" LAST_MODIFIED=\"$element->{'lastModified'}\">$element->{'title'}</H3>\n";
		print "<DL><p>\n";
		for my $child (@{$element->{'children'}}) {
			workChildren($child);
		}
		print "</DL><p>\n";
	} else {
		print "<DT><A HREF=\"$element->{'uri'}\" ADD_DATE=\"$element->{'dateAdded'}\" LAST_MODIFIED=\"$element->{'lastModified'}\">$element->{'title'}</A>\n";
	}
}

sub printHeader {
print "<!DOCTYPE NETSCAPE-Bookmark-file-1>"
	. "<!-- This is an automatically generated file."
    . "     It will be read and overwritten."
    . "     DO NOT EDIT! -->"
    . "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">"
    . "<TITLE>Bookmarks</TITLE>"
    . "<H1>Lesezeichen-Import</H1>";
}

5 Kommentare bei „Firefox Bookmark Backups konvertieren

    1. In einem Editor Deiner Wahl speichern und ausführbar machen.
      Die bookmarks.txt in das Verzeichnis kopieren und das Script ausführen.

      Fertig.

      1. „In einem Editor Deiner Wahl speichern und ausführbar machen.
        Die bookmarks.txt in das Verzeichnis kopieren und das Script ausführen.

        Fertig.“
        Es soll ja Leute geben, die nicht wissen, wie man eine Datei ausführbar macht. Ich gehör dazu, einfach exe hintendran reicht ja wohl nicht.

        1. Hallo Bernd,
          ich kann leider keine Grundlagen für sämtliche Betriebssysteme in meinen Blog beschreiben.
          Das würde den Großteil meiner Leser langweilen, bei denen es sich um Administratoren und Softwareentwickler handelt.
          Wenn Du nach „Perl Script ausführbar machen“ googlest, wirst Du sicherlich schnell fündig.

          Beste Grüße

          Gerrit

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.