Package: libfinance-quote-perl Version: 1.12-1 Severity: normal Tags: patch
Hallo, I am using linfinance-quote-perl together with GnuCash to get the preises of some funds of the DekaBank (www.deka.de). It used to work fine till the beginning of November. Since then, I can't get any quotes from Deka. I think, they have changed the web site. I have added a patch for the file Deka.pm. This patch is working for me. It is using the https port instead of the http port. I hope it doesn't give problems to anyone. I couldn't find a page with the http port anymore. Regards, Vincent Smeets -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.8-3-686 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages libfinance-quote-perl depends on: ii libhtml-tableextract-perl 1.08-1 Perl module that simplifies extrac ii libwww-perl 5.803-4 WWW client/server library for Perl ii perl 5.8.4-8sarge5 Larry Wall's Practical Extraction -- no debconf information
--- Deka.pm.orig 2006-11-27 20:54:58.000000000 +0100 +++ Deka.pm 2006-11-27 23:00:37.924214579 +0100 @@ -22,7 +22,7 @@ use vars qw($VERSION); $VERSION = '0.3'; -my $DEKA_URL = "http://www.deka.de/de/produkte/fondsfinder/ergebnis_body_name.html?type=preise"; +my $DEKA_URL = "https://www.deka.de/dn/useCases/fundsearch/UCFundsSearch.shtml?ACTION_FIELD=quickSearch"; sub methods {return (deka => \&deka);} sub labels { return (deka=>[qw/name date price last method/]); } @@ -34,6 +34,7 @@ s/^\s*//; s/\s*$//; s/ //g; + s/,/./g; return $_; } @@ -45,21 +46,20 @@ my %info; foreach my $stock (@stocks) { - my $response = $ua->get($DEKA_URL . "&fcsd=" . $stock); + my $response = $ua->get($DEKA_URL . "&isin=" . $stock); $info{$stock,"success"} = 0; if (!$response -> is_success()) { $info{$stock,"errormsg"} = "HTTP failure"; } else { my $te = HTML::TableExtract->new; $te->parse($response->content); - if ($te->table_state(0,0) && $te->table_state(1,0)) { - my $row = ($te->table_state(0,0)->rows)[1]; - $info{$stock,"name"} = $$row[4]; - $info{$stock,"currency"} = $$row[6]; - $quoter->store_date(\%info, $stock, {eurodate => $$row[12]}); - my $prices = ($te->table_state(1,0)->rows)[0]; - $info{$stock,"price"} = trim($$prices[0]); - $info{$stock,"last"} = trim($$prices[2]); + if ($te->table_state(0,0)) { + my $row = ($te->table_state(0,0)->rows)[3]; + $info{$stock,"name"} = $$row[0]; + $info{$stock,"currency"} = $$row[2]; + $info{$stock,"price"} = trim($$row[3]); + $info{$stock,"last"} = trim($$row[4]); + $quoter->store_date(\%info, $stock, {eurodate => $$row[6]}); $info{$stock,"success"} = 1; $info{$stock,"method"} = "deka"; $info{$stock,"symbol"} = $stock;