All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
This gets move complicated parsing the html since the body of the element
needs to be recorded if there is no title.
my @ret;
my $parser=HTML::Parser->new(api_version => 3);
my @ret;
my $parser=HTML::Parser->new(api_version => 3);
+ my $abody=undef;
+ my $aref=undef;
$parser->handler(start => sub {
my $tagname=shift;
my $attr=shift;
$parser->handler(start => sub {
my $tagname=shift;
my $attr=shift;
- return if lc $tagname ne 'link';
return if ! exists $attr->{rel} || lc $attr->{rel} ne 'vcs';
return if ! exists $attr->{href} || ! length $attr->{href};
return if ! exists $attr->{type} || ! length $attr->{type};
return if ! exists $attr->{rel} || lc $attr->{rel} ne 'vcs';
return if ! exists $attr->{href} || ! length $attr->{href};
return if ! exists $attr->{type} || ! length $attr->{type};
+
+ # need to collect the body of the <a> tag if there is no title
+ if ($tagname eq "a" && ! exists $attr->{title}) {
+ $abody="";
+ $aref=$attr;
+ }
+
push @ret, $attr;
}, "tagname, attr");
push @ret, $attr;
}, "tagname, attr");
+ $parser->handler(text => sub {
+ if (defined $aref) {
+ $abody.=join(" ", @_);
+ }
+ }, "text");
+ $parser->handler(end => sub {
+ my $tagname=shift;
+ if ($tagname eq "a" && defined $aref) {
+ $aref->{title}=$abody;
+ $aref=undef;
+ $abody=undef;
+ }
+ }, "tagname");
+ $parser->report_tags(qw{link a});
$parser->parse($page);
$parser->eof;
$parser->parse($page);
$parser->eof;
die "no repositories found on $url\n";
}
die "no repositories found on $url\n";
}
+#use Data::Dumper;
+#print Dumper(\@repos);
+#exit;
+
if (defined $destdir && @repos > 1) {
# create subdirs of $destdir for the multiple repos
if (! $noact) {
if (defined $destdir && @repos > 1) {
# create subdirs of $destdir for the multiple repos
if (! $noact) {
-
-#use Data::Dumper;
-#print Dumper(\@repos);