use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Bookmarks;
use Bookmarks::Utils;
use YAML;
my $links;
{
my $yaml;
local $/;
$yaml = <>;
$links=YAML::Load($yaml);
}
my $icon=do {local $/;open my $fh,'<:raw','favicon.ico';<$fh>};
print "Icon is $icon\n";
my %fields=(
description => 'title',
extended => 'descr',
created => 'add_date',
modified => 'last_access_date',
);
Bookmarks::M::DB::Links->db_Main()->{sqlite_handle_binary_nulls} = 1;
Bookmarks::M::DB::Links->autoupdate(0);
for my $link (@$links) {
print "Loading $link->{href}\n";
my $dblink=Bookmarks::M::DB::Links->find_or_create({
url => $link->{href},
});
$link->{created}||=time();
$link->{modified}||=time();
while (my ($f1,$f2) = each %fields) {
$dblink->$f2($link->{$f1});
}
$dblink->icon($icon);
print 'Set icon to: ',$dblink->icon(),"\n";
$dblink->update();
print 'Set icon to: ',$dblink->icon(),"\n";
for my $tagname (@{$link->{tags}}) {
my $dbtag=Bookmarks::M::DB::Tags->find_or_create({
name => $tagname,
});
$dblink->add_to_tags({ tag => $dbtag});
}
}