diff options
Diffstat (limited to 'lib/Bookmarks/Utils.pm')
-rw-r--r-- | lib/Bookmarks/Utils.pm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/Bookmarks/Utils.pm b/lib/Bookmarks/Utils.pm new file mode 100644 index 0000000..fd0b68d --- /dev/null +++ b/lib/Bookmarks/Utils.pm @@ -0,0 +1,45 @@ +package Bookmarks::Utils; +use strict; +use warnings; +use LWP::Simple; +use URI::URL; + +sub check_link { + my ($url)=@_; + return 1 if $url!~/^http:/; + #my ($type,$length,$update,$expires,$server)=head($url); + #return defined $type; + return scalar head($url); +} + +sub get_site_icon { + my ($url)=@_; + + return if $url!~/^http:/; + + print "Provo nella pagina\n"; + my $page=get($url); + my ($favicon)= grep {defined $_ and $_ ne ''} + ($page =~ + m{<link + \s+ + (?: + rel="shortcut\ icon" + \s+ + href="(.*?)" + )|(?: + href="(.*?)" + \s+ + rel="shortcut\ icon" + )}smx); + if (!$favicon) { + $favicon='/favicon.ico'; + } + print "Trovato: '$favicon'"; + $favicon=URI::URL->new($favicon,$url)->abs->canonical->as_string; + print ", ovvero '$favicon'\n"; + my $icon=get($favicon); + return $icon; +} + +1; |