summaryrefslogtreecommitdiff
path: root/lib/Bookmarks/Utils.pm
blob: fd0b68d2788274f59482c7795c5dd885d0889072 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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="shortcuticon"
               \s+
               href="(.*?)"
           )|(?:
               href="(.*?)"
               \s+
               rel="shortcuticon"
           )}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;