Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.3
perl-Finance-Quote
perl-Finance-Quote-debian-04_deka.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perl-Finance-Quote-debian-04_deka.patch of Package perl-Finance-Quote
Bart Martens <bartm@debian.org> Closes: #431293. Index: lib/Finance/Quote/Deka.pm =================================================================== --- lib/Finance/Quote/Deka.pm.orig +++ lib/Finance/Quote/Deka.pm @@ -62,8 +62,7 @@ sub deka if (!$response -> is_success()) { $info{$stock,"errormsg"} = "HTTP failure"; } else { - my @headers = [qw(Name ISIN Whg Datum)]; - my $te = new HTML::TableExtract(headers => @headers, slice_columns => 0); + my $te = new HTML::TableExtract(); $te->parse($response->content); foreach my $ts ($te->table_states) { # foreach my $row ($ts->rows) { @@ -73,16 +72,34 @@ sub deka foreach my $row ($ts->rows) { next if !defined $$row[0] || !defined $$row[1]; - $info{$stock,"name"} = $$row[0]; - $info{$stock,"currency"} = $$row[2]; - $quoter->store_date(\%info, $stock, {eurodate => $$row[6]}); - $info{$stock,"price"} = convert_price(trim($$row[4])); - $info{$stock,"last"} = $info{$stock,"price"}; - $info{$stock,"success"} = 1; - $info{$stock,"method"} = "deka"; - $info{$stock,"symbol"} = $stock; + next if !defined $$row[2] || !defined $$row[3]; + $info{$stock,"currency"} = $$row[1] if( $$row[0] =~ /^W.hrung:$/ ); + $info{$stock,"price"} = convert_price(trim($$row[3])) if( $$row[2] eq "Anteilpreis Aktuell:" ); } } + + $info{$stock,"name"} = $1 + if( $response->content =~ /<div class="sfg_txt">[^<>]*<h1>([^<>]+)<\/h1>/s ); + $info{$stock,"eurodate"} = $1 + if( $response->content =~ /<div class="box">[^<>]*<h2 class="headline">Aktuelle Fondsdaten vom ([^<>]+)<\/h2>/s ); + $info{$stock,"last"} = $info{$stock,"price"} + if( defined $info{$stock,"price"} ); + + $info{$stock,"success"} = 1 + if( defined $info{$stock,"name"} + && defined $info{$stock,"eurodate"} + && defined $info{$stock,"price"} + && defined $info{$stock,"last"} + && defined $info{$stock,"currency"} ); + + if( $info{$stock,"success"} == 1 ) + { + $info{$stock,"method"} = "deka"; + $info{$stock,"symbol"} = $stock; + $quoter->store_date(\%info, $stock, {eurodate => $info{$stock,"eurodate"}}); + delete $info{$stock,"eurodate"}; + } + $info{$stock,"errormsg"} = "Couldn't parse deka website" if ($info{$stock,"success"} == 0); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor