Deblan blog

Uzbl - Importer ses bookmarks Firefox

Si vous avez une masse importante de bookmarks et que vous aimeriez les retrouver dans Uzbl alors je vous propose ce script d'importation. Il se repose sur les bookmarks de la "Barre personnelle" uniquement, et configure les bookmarks avec des tags (cf le précédent article).

Pour que le script fonctionne, vous devez posséder php et vous aurez besoin de faire un export (au format json) à la racine de votre répertoire personnelle.

Il suffira de lancer le script et tout se fera automatiquement :)

#!/usr/bin/php5
<?php

$bookmarks_file = array_pop(glob(getenv('HOME').'/bookmarks-*.json'));

if (empty($bookmarks_file)) {
    echo sprintf("No bookmarks found in \"%s\"/\n", getenv('HOME'));
    exit(0);
}

$datas = json_decode(file_get_contents($bookmarks_file));

function get_firefox_bookmarks_for_uzbl($node, $prefix)
{
    $config = '';

    if (isset($node->children)) {
        foreach ($node->children as $child) {
            $config.= get_firefox_bookmarks_for_uzbl($child, $prefix.'/'.$node->title);
        }
    } else {
        if (isset($node->uri)) {
            $config.= str_replace(
                array(
                    '/Barre personnelle/',
                    '/Barre personnelle'
                ),
                array(
                    '/Barre personnelle',
                    '/'
                ),
                "$node->uri $prefix $node->title\n"
            );
        }
    }

    return $config;
}

file_put_contents(
    getenv('HOME').'/.local/share/uzbl/bookmarks',
    get_firefox_bookmarks_for_uzbl($datas->children[2], '')
);

Ajouter un commentaire

Vous pouvez utiliser du markdown.Afficher l'aide.