mirror of
https://codeberg.org/scip/leo.git
synced 2025-12-16 20:21:03 +01:00
1.39
This commit is contained in:
13
Changelog
13
Changelog
@@ -1,3 +1,16 @@
|
|||||||
|
1.39:
|
||||||
|
|
||||||
|
fixed rt.cpan.org#91464: disable caching if DB_File is not found.
|
||||||
|
|
||||||
|
1.38:
|
||||||
|
|
||||||
|
fixed rt.cpan.org#92944, missed translations. The problem was,
|
||||||
|
that the pda.leo.org uses a differnt number of tables depending
|
||||||
|
on the translation. So, now we just fetch all tables (2-4) and
|
||||||
|
ignore those which are not translations (forum posts or empty cells).
|
||||||
|
|
||||||
|
Applied patch rt.cpan.org#92914 (POD locale encoding).
|
||||||
|
|
||||||
1.37:
|
1.37:
|
||||||
|
|
||||||
fixed rt.cpan.org#92679, the site url and table structure
|
fixed rt.cpan.org#92679, the site url and table structure
|
||||||
|
|||||||
54
Org.pm
54
Org.pm
@@ -1,11 +1,13 @@
|
|||||||
#
|
#
|
||||||
# Copyleft (l) 2000-2014 by Thomas Linden <tom@daemon.de>. leo may be
|
# Copyleft (l) 2000-2014 Thomas Linden <tom@daemon.de>.
|
||||||
|
# 2014 Thomas von Dein <tom@vondein.org>.
|
||||||
|
# leo may be
|
||||||
# used and distributed under the terms of the GNU General Public License.
|
# used and distributed under the terms of the GNU General Public License.
|
||||||
# All other brand and product names are trademarks, registered trademarks
|
# All other brand and product names are trademarks, registered trademarks
|
||||||
# or service marks of their respective holders.
|
# or service marks of their respective holders.
|
||||||
|
|
||||||
package WWW::Dict::Leo::Org;
|
package WWW::Dict::Leo::Org;
|
||||||
$WWW::Dict::Leo::Org::VERSION = 1.37;
|
$WWW::Dict::Leo::Org::VERSION = 1.39;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
@@ -223,12 +225,24 @@ Accept-Language: en_US, en\r\n);
|
|||||||
#$site =~ s/(<\/table[^>]*>)/\n$1\n/g;
|
#$site =~ s/(<\/table[^>]*>)/\n$1\n/g;
|
||||||
#print $site;
|
#print $site;
|
||||||
|
|
||||||
my @request = ({
|
my @request = (
|
||||||
|
{
|
||||||
|
id => 2,
|
||||||
|
row => sub { $this->row(@_); },
|
||||||
|
hdr => sub { $this->hdr(@_); }
|
||||||
|
},
|
||||||
|
{
|
||||||
id => 3,
|
id => 3,
|
||||||
|
hdr => sub { $this->hdr(@_); },
|
||||||
row => sub { $this->row(@_); }
|
row => sub { $this->row(@_); }
|
||||||
}
|
},
|
||||||
);
|
{
|
||||||
$this->{Linecount} = 1;
|
id => 4,
|
||||||
|
hdr => sub { $this->hdr(@_); },
|
||||||
|
row => sub { $this->row(@_); }
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$this->{Linecount} = 0;
|
||||||
my $p = HTML::TableParser->new( \@request,
|
my $p = HTML::TableParser->new( \@request,
|
||||||
{ Decode => 1, Trim => 1, Chomp => 1, DecodeNBSP => 1 } );
|
{ Decode => 1, Trim => 1, Chomp => 1, DecodeNBSP => 1 } );
|
||||||
$site=~s/ /\ \;/g;
|
$site=~s/ /\ \;/g;
|
||||||
@@ -246,19 +260,12 @@ Accept-Language: en_US, en\r\n);
|
|||||||
push @matches, { title => $title, data => $this->{data}->{$title} };
|
push @matches, { title => $title, data => $this->{data}->{$title} };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return @matches;
|
return @matches;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub row {
|
sub hdr {
|
||||||
#
|
|
||||||
# divide rows into titles and lang data.
|
|
||||||
# rows with the last one of 5 defined and
|
|
||||||
# where the last and the pre-last are qual
|
|
||||||
# are titles.
|
|
||||||
my ( $this, $tbl_id, $line_no, $data, $udata ) = @_;
|
my ( $this, $tbl_id, $line_no, $data, $udata ) = @_;
|
||||||
|
|
||||||
if ($data->[1] && $data->[0] eq $data->[1]) {
|
if ($data->[1] && $data->[0] eq $data->[1]) {
|
||||||
$this->debug("Probable start of a new section: $data->[1]");
|
$this->debug("Probable start of a new section: $data->[1]");
|
||||||
if (@{$this->{section}}) {
|
if (@{$this->{section}}) {
|
||||||
@@ -269,7 +276,19 @@ sub row {
|
|||||||
$this->{title} = $data->[1];
|
$this->{title} = $data->[1];
|
||||||
$this->{section} = [];
|
$this->{section} = [];
|
||||||
}
|
}
|
||||||
else {
|
}
|
||||||
|
|
||||||
|
sub row {
|
||||||
|
#
|
||||||
|
# divide rows into titles and lang data.
|
||||||
|
# we get 2 items (left and right column), if they
|
||||||
|
# are equal, it's a segment title, otherwise it's
|
||||||
|
# segment content. left columns ending in HH:MM
|
||||||
|
# are forumposts and ignored as well as rows with
|
||||||
|
# empty left cells.
|
||||||
|
my ( $this, $tbl_id, $line_no, $data, $udata ) = @_;
|
||||||
|
|
||||||
|
if ($data->[1] && $data->[0] && $data->[0] ne $data->[1] && $data->[0] !~ /\d{2}:\d{2}$/) {
|
||||||
if (length($data->[0]) > $this->{Maxsize}) {
|
if (length($data->[0]) > $this->{Maxsize}) {
|
||||||
$this->{Maxsize} = length($data->[0]);
|
$this->{Maxsize} = length($data->[0]);
|
||||||
}
|
}
|
||||||
@@ -305,6 +324,8 @@ sub debug {
|
|||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
=encoding ISO8859-1
|
||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
WWW::Dict::Leo::Org - Interface module to dictionary dict.leo.org
|
WWW::Dict::Leo::Org - Interface module to dictionary dict.leo.org
|
||||||
@@ -507,6 +528,7 @@ L<leo>
|
|||||||
|
|
||||||
WWW::Dict::Leo::Org -
|
WWW::Dict::Leo::Org -
|
||||||
Copyright (c) 2007-2014 by Thomas Linden
|
Copyright (c) 2007-2014 by Thomas Linden
|
||||||
|
Copyright (c) 2014 by Thomas von Dein
|
||||||
|
|
||||||
L<http://dict.leo.org/> -
|
L<http://dict.leo.org/> -
|
||||||
Copyright (c) 1995-2014 LEO Dictionary Team.
|
Copyright (c) 1995-2014 LEO Dictionary Team.
|
||||||
@@ -523,6 +545,6 @@ Please don't forget to add debugging output!
|
|||||||
|
|
||||||
=head1 VERSION
|
=head1 VERSION
|
||||||
|
|
||||||
1.35
|
1.39
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
6
README
6
README
@@ -37,10 +37,10 @@ HISTORY
|
|||||||
COPYRIGHT
|
COPYRIGHT
|
||||||
|
|
||||||
WWW::Dict::Leo::Org
|
WWW::Dict::Leo::Org
|
||||||
Copyright (c) 2007-2014 by Thomas von Dein
|
Copyright (c) 2007-2014 by Thomas Linden <tom@daemon.de>
|
||||||
|
|
||||||
leo
|
leo
|
||||||
Copyright (c) 2000-2014 by Thomas von Dein
|
Copyright (c) 2000-2014 by Thomas Linden <tom@daemon.de>
|
||||||
|
|
||||||
http://dict.leo.org/
|
http://dict.leo.org/
|
||||||
Copyright (c) 1995-2014 LEO Dictionary Team.
|
Copyright (c) 1995-2014 LEO Dictionary Team.
|
||||||
@@ -49,4 +49,4 @@ COPYRIGHT
|
|||||||
at LEO.org. Thanks for the great work.
|
at LEO.org. Thanks for the great work.
|
||||||
|
|
||||||
|
|
||||||
Thomas von Dein.
|
Thomas Linden.
|
||||||
|
|||||||
12
leo
12
leo
@@ -37,7 +37,7 @@ my $default_c = "\033[0m"; # reset default terminal color
|
|||||||
my $bold_c = "\033[0;34m"; # blue color
|
my $bold_c = "\033[0;34m"; # blue color
|
||||||
my $copy_c = "\033[0;35m"; # copyright message color (green)
|
my $copy_c = "\033[0;35m"; # copyright message color (green)
|
||||||
|
|
||||||
my $version = "1.37";
|
my $version = "1.39";
|
||||||
my $config = $ENV{HOME} . "/.leo";
|
my $config = $ENV{HOME} . "/.leo";
|
||||||
my $cache = $ENV{HOME} . "/.leo-CACHE.db";
|
my $cache = $ENV{HOME} . "/.leo-CACHE.db";
|
||||||
|
|
||||||
@@ -156,7 +156,13 @@ elsif ($conf{use_color} eq "yes") {
|
|||||||
# open the cache, if wanted
|
# open the cache, if wanted
|
||||||
#
|
#
|
||||||
if ($conf{use_cache} eq "yes") {
|
if ($conf{use_cache} eq "yes") {
|
||||||
dbmopen(%CACHE, $cache, 0600) or $conf{use_cache} = "no";
|
eval { require DB_FileX; };
|
||||||
|
if ($@) {
|
||||||
|
$conf{use_cache} = "no";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dbmopen(%CACHE, $cache, 0600) or $conf{use_cache} = "no";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my %PARAM;
|
my %PARAM;
|
||||||
@@ -626,6 +632,6 @@ browser, what is not prohibited. At least not today.
|
|||||||
|
|
||||||
=head1 VERSION
|
=head1 VERSION
|
||||||
|
|
||||||
This is the manpage for B<leo> version B<1.36>.
|
This is the manpage for B<leo> version B<1.39>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
Reference in New Issue
Block a user