Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
Finance /
Quote /
[ HOME SHELL ]
Name
Size
Permission
Action
CurrencyRates
[ DIR ]
drwxr-xr-x
AEX.pm
5.76
KB
-rw-r--r--
ASEGR.pm
5.26
KB
-rw-r--r--
ASX.pm
10.78
KB
-rw-r--r--
AlphaVantage.pm
12.23
KB
-rw-r--r--
BSEIndia.pm
4.59
KB
-rw-r--r--
Bloomberg.pm
2.68
KB
-rw-r--r--
Bourso.pm
6.71
KB
-rw-r--r--
CSE.pm
3.13
KB
-rw-r--r--
Cdnfundlibrary.pm
5.34
KB
-rw-r--r--
Comdirect.pm
4.32
KB
-rw-r--r--
Currencies.pm
32.6
KB
-rw-r--r--
DWS.pm
4.36
KB
-rw-r--r--
Deka.pm
3.17
KB
-rw-r--r--
FTfunds.pm
11.55
KB
-rw-r--r--
Fidelity.pm
4.72
KB
-rw-r--r--
Finanzpartner.pm
4.05
KB
-rw-r--r--
Fondsweb.pm
5.29
KB
-rw-r--r--
Fool.pm
5.2
KB
-rw-r--r--
Fundata.pm
5.96
KB
-rw-r--r--
GoldMoney.pm
7.66
KB
-rw-r--r--
HU.pm
7.07
KB
-rw-r--r--
IEXCloud.pm
4.94
KB
-rw-r--r--
IndiaMutual.pm
4.71
KB
-rw-r--r--
MStaruk.pm
9.13
KB
-rw-r--r--
MorningstarAU.pm
5.05
KB
-rw-r--r--
MorningstarJP.pm
5.55
KB
-rw-r--r--
NSEIndia.pm
4.87
KB
-rw-r--r--
NZX.pm
3.25
KB
-rw-r--r--
OnVista.pm
7.54
KB
-rw-r--r--
Oslobors.pm
2.29
KB
-rw-r--r--
SEB.pm
3.96
KB
-rw-r--r--
SIX.pm
5.45
KB
-rw-r--r--
TMX.pm
5.83
KB
-rw-r--r--
TSP.pm
4.35
KB
-rw-r--r--
Tiaacref.pm
13.85
KB
-rw-r--r--
Tradeville.pm
3.88
KB
-rw-r--r--
Troweprice.pm
5
KB
-rw-r--r--
USFedBonds.pm
4.89
KB
-rw-r--r--
Union.pm
4.5
KB
-rw-r--r--
UserAgent.pm
3.25
KB
-rw-r--r--
XETRA.pm
4.59
KB
-rw-r--r--
YahooJSON.pm
8.21
KB
-rw-r--r--
ZA.pm
3.33
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : USFedBonds.pm
# This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA package Finance::Quote::USFedBonds; use strict; use warnings; use constant DEBUG => $ENV{DEBUG}; use if DEBUG, 'Smart::Comments'; use LWP::UserAgent; use Web::Scraper; use Text::Trim; use DateTime; our $VERSION = '1.51'; # VERSION my $TREASURY_MAINURL = ("http://www.treasurydirect.gov/"); my $TREASURY_URL = ($TREASURY_MAINURL."indiv/tools/"); sub methods { return (usfedbonds => \&treasury); } sub labels { my @labels = qw/method source name symbol currency last date isodate nav price/; return (usfedbonds => \@labels); } sub treasury { my $quoter = shift; my @symbols = @_; my $ua = $quoter->user_agent(); my %info; my %month; @month{qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/} = (1 .. 12); @month{qw/January February March April May June July August September October November December/} = (1 .. 12); my $root = 'https://www.treasurydirect.gov/indiv/tools/'; my $url = $root . 'tools_savingsbondvalues_historical.htm'; my $reply = $ua->get($url); ### [<now>] Fetched: $url my $data = scraper { process '//*[@id="content"]/p[2]/a', 'links[]' => {'name' => 'TEXT', 'href' => '@href'}; }; my $result = $data->scrape($reply); # Build a map from "YYYYMM" of redemption to URL my %map; foreach my $link (@{$result->{links}}) { if ($link->{name} =~ /^(?<startmonth>[A-Za-z]+)\s+(?<startyear>[0-9]{4}).*?(?<endmonth>[A-Za-z]+)\s+(?<endyear>[0-9]{4})$/) { my $start = DateTime->new(year => $+{startyear}, month => $month{$+{startmonth}}); my $end = DateTime->new(year => $+{endyear}, month => $month{$+{endmonth}}); while ($start <= $end) { my $key = $start->strftime('%Y%m'); $map{$key} = $link->{href}; $start->add(months => 1); } } } my %cache; foreach my $symbol (@_) { eval { die "$symbol does not match expected format" unless $symbol =~ /^(?<series>[IENS])(?<issueyear>[0-9]{4})(?<issuemonth>[0-9]{2})[.](?<redemptionyear>[0-9]{4})(?<redemptionmonth>[0-9]{2})$/; my $issuemonth = $+{issuemonth}; my $redemptionmonth = $+{redemptionmonth}; my $redemptionyear = $+{redemptionyear}; my $redemption = $+{redemptionyear} . $+{redemptionmonth}; my $url = $map{$redemption}; my $row_index = $+{series} . $+{redemptionyear} . $+{redemptionmonth} . $+{issueyear}; # row index is [series(1) + redemption year(4) + redemption month(2)](7) + issue year(4) unless (exists $cache{$url}) { my %table = map {$_->[0] . $_->[1] => $_} map {[unpack("A7A4A6A6A6A6A6A6A6A6A6A6A6A6", $_)]} split /\n/, $ua->get($url)->content(); $cache{$url} = \%table; } my $row = $cache{$url}->{$row_index}; ### Looking for : $symbol, $redemption ### url : $url ### row : $row_index die "value not found for $symbol" unless $row->[1 + $issuemonth] =~ /[0-9]{6}/; $info{$symbol, "price"} = sprintf('%.2f', $row->[1 + $issuemonth]/100); $info{$symbol, "currency"} = "USD"; $quoter->store_date(\%info, $symbol, {usdate => "$redemptionmonth/01/$redemptionyear"}); $info{$symbol, "success"} = 1; }; if ($@) { my $error = "USFedBonds failed: $@"; $info{$symbol, 'success'} = 0; $info{$symbol, 'errormsg'} = trim($error); } } return wantarray() ? %info : \%info; } 1; __END__ =head1 NAME Finance::Quote::USFedBonds - Get US Federal Bond redemption values from http://www.treasurydirect.gov =head1 SYNOPSIS use Finance::Quote; $q = Finance::Quote->new(); %info = $q->fetch('usfedbonds', 'E197001.200606'); =head1 DESCRIPTION Access redemption values for US Federal Bonds from the treasury. Bonds should be identified in the following manner: SERIES(1) : I/E/N/S ISSUEDATE(6) : YYYYMM SEPERATOR(1) : "." REDEMPTIONDATE(6) : YYYYMM e.g. E200101.200501 =head1 LABELS RETURNED price, date, isodate =head1 TERMS & CONDITIONS Use of www.treasurydirect.gov is governed by any terms & conditions of that site. Finance::Quote is released under the GNU General Public License, version 2, which explicitly carries a "No Warranty" clause. =cut
Close