Created after CB discussion about switching from Opera to Mozilla.
Place "Opera6.adr" in same directory. The generated NS bookmark file is printed to STDOUT.
use strict; use Netscape::Bookmarks; my %imports; open(my $fh, "Opera6.adr") or die; $/ = undef; my $file = <$fh>; $/ = "\n"; close($fh); my @folders = split(/\n-\n/, $file); foreach my $folder (@folders){ next if $folder =~ /^\s+$/; my $folder_name; if($folder =~ /#FOLDER\n\tNAME=(.+)\n/){ $folder_name = $1; } else{ $folder_name = "rootfolder1234"; } my @links = split(/\n\n#URL\n\t/, $folder); foreach(@links){ if(/NAME=/){ /NAME=(.+)\n\tURL=(.+)\n/; next if $1 eq ''; $imports{$folder_name}->{$1} = $2; } else{ next; } } } my $bookmarks = Netscape::Bookmarks->new; foreach my $folder(sort keys %imports){ my $category = Netscape::Bookmarks::Category->new( {folded=>"0", title=>$folder, add_date=>"0", description=>""}); my $links = $imports{$folder}; foreach my $importlink (sort keys %$links){ my $link = new Netscape::Bookmarks::Link{ TITLE=>"$importlink", HREF=>"$imports{$folder}->{$importlink}",}; if($folder eq 'rootfolder1234'){ $bookmarks->add($link); } else{ $category->add($link); } } if($folder ne 'rootfolder1234'){ $bookmarks->add($category); } } print $bookmarks->as_string;
John J Reiser
newrisedesigns.com
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Convert Opera Bookmarks to Netscape Bookmarks
by BigJoe (Curate) on Dec 05, 2002 at 18:50 UTC | |
by newrisedesigns (Curate) on Dec 06, 2002 at 16:27 UTC | |
by BigJoe (Curate) on Dec 09, 2002 at 14:45 UTC |