[perl-Finance-Quote] - fix TIAA-CREF (#668935, <amessina at messinet.com>)
Bill Nottingham
notting at fedoraproject.org
Wed Jan 12 17:30:12 UTC 2011
commit 33ec38d4fec4e9032c08f0ee05e0ca746ac1b83b
Author: Bill Nottingham <notting at redhat.com>
Date: Wed Jan 12 12:29:39 2011 -0500
- fix TIAA-CREF (#668935, <amessina at messinet.com>)
perl-Finance-Quote.spec | 7 +-
tiaa-cref.patch | 520 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 526 insertions(+), 1 deletions(-)
---
diff --git a/perl-Finance-Quote.spec b/perl-Finance-Quote.spec
index 259c7a9..f5e1615 100644
--- a/perl-Finance-Quote.spec
+++ b/perl-Finance-Quote.spec
@@ -1,11 +1,12 @@
Name: perl-Finance-Quote
Version: 1.17
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: A Perl module that retrieves stock and mutual fund quotes
Group: Development/Libraries
License: GPLv2+
URL: http://finance-quote.sourceforge.net/
Source0: http://prdownloads.sourceforge.net/finance-quote/Finance-Quote-%{version}.tar.gz
+Patch0: tiaa-cref.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
@@ -22,6 +23,7 @@ using various source.
%prep
%setup -q -n Finance-Quote-%{version}
+%patch0 -p2
find . -name *.pm | xargs %{__sed} -i -e '/^#!.*\/usr\/bin\/perl/d'
%build
@@ -49,6 +51,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/*.3*
%changelog
+* Wed Jan 12 2011 Bill Nottingham <notting at redhat.com> - 1.17-5
+- fix TIAA-CREF (#668935, <amessina at messinet.com>)
+
* Mon Dec 06 2010 Bill Nottingham <notting at redhat.com> - 1.17-4
- fix buildrequires for F-15
diff --git a/tiaa-cref.patch b/tiaa-cref.patch
new file mode 100644
index 0000000..387ef16
--- /dev/null
+++ b/tiaa-cref.patch
@@ -0,0 +1,520 @@
+diff --git a/Finance-Quote-1.17/lib/Finance/Quote/Tiaacref.pm b/Finance-Quote-1.17/lib/Finance/Quote/Tiaacref.pm
+index 5e1c8a1..5650ef7 100644
+--- a/Finance-Quote-1.17/lib/Finance/Quote/Tiaacref.pm
++++ b/Finance-Quote-1.17/lib/Finance/Quote/Tiaacref.pm
+@@ -33,7 +33,7 @@ require Crypt::SSLeay;
+
+ use strict;
+
+-use vars qw($VERSION $CREF_URL $TIAA_URL
++use vars qw($VERSION $CREF_URL $CREF_URL_INST $TIAA_URL
+ %tiaacref_ids %tiaacref_locs %tiaacref_vals);
+
+ use LWP::UserAgent;
+@@ -44,7 +44,9 @@ $VERSION = '1.17';
+
+ # URLs of where to obtain information.
+ # This used to be different for the CREF and TIAA annuities, but this changed.
+-$CREF_URL = ("https://www3.tiaa-cref.org/ddata/DownloadData?");
++$CREF_URL = ("http://www.tiaa-cref.org/public/performance/retirement/data/results?");
++$CREF_URL_INST = ("http://www.tiaa-cref.org/public/performance/institutional/data/results?");
++#https://www3.tiaa-cref.org/ddata/DownloadData?");
+
+ sub methods { return (tiaacref=>\&tiaacref); }
+
+@@ -96,6 +98,82 @@ sub labels { return (tiaacref => [qw/method symbol exchange name date isodate na
+ # TIAA-CREF Social Choice Equity: TCSCX
+ # TIAA-CREF Managed Allocation: TIMAX
+
++# TIAA-CREF Retirement Fund - Bond: TIDRX
++# TIAA-CREF Retirement Fund - Bond Index: TBIRX
++# TIAA-CREF Retirement Fund - Bond Plus: TCBRX
++# TIAA-CREF Retirement Fund - Emerging Markets Equity: TEMSX
++# TIAA-CREF Retirement Fund - Emerging Markets Equity Index: TEQSX
++# TIAA-CREF Retirement Fund - Equity Index: TIQRX
++# TIAA-CREF Retirement Fund - Growth & Income: TRGIX
++# TIAA-CREF Retirement Fund - High-Yield: TIHRX
++# TIAA-CREF Retirement Fund - Inflation-Linked Bond: TIKRX
++# TIAA-CREF Retirement Fund - International Equity: TRERX
++# TIAA-CREF Retirement Fund - International Equity Index: TRIEX
++# TIAA-CREF Retirement Fund - Large-Cap Growth: TILRX
++# TIAA-CREF Retirement Fund - Large-Cap Growth Index: TRIRX
++# TIAA-CREF Retirement Fund - Large-Cap Value: TRLCX
++# TIAA-CREF Retirement Fund - Large-Cap Value Index: TRCVX
++# TIAA-CREF Retirement Fund - Lifecycle 2010: TCLEX
++# TIAA-CREF Retirement Fund - Lifecycle 2015: TCLIX
++# TIAA-CREF Retirement Fund - Lifecycle 2020: TCLTX
++# TIAA-CREF Retirement Fund - Lifecycle 2025: TCLFX
++# TIAA-CREF Retirement Fund - Lifecycle 2030: TCLNX
++# TIAA-CREF Retirement Fund - Lifecycle 2035: TCLRX
++# TIAA-CREF Retirement Fund - Lifecycle 2040: TCLOX
++# TIAA-CREF Retirement Fund - Lifecycle 2045: TTFRX
++# TIAA-CREF Retirement Fund - Lifecycle 2050: TLFRX
++# TIAA-CREF Retirement Fund - Lifecycle Retirement Income: TLIRX
++# TIAA-CREF Retirement Fund - Managed Allocation: TITRX
++# TIAA-CREF Retirement Fund - Mid-Cap Growth: TRGMX
++# TIAA-CREF Retirement Fund - Mid-Cap Value: TRVRX
++# TIAA-CREF Retirement Fund - Money Market: TIEXX
++# TIAA-CREF Retirement Fund - Real Estate Securities: TRRSX
++# TIAA-CREF Retirement Fund - S&P 500 Index: TRSPX
++# TIAA-CREF Retirement Fund - Short-Term Bond: TISRX
++# TIAA-CREF Retirement Fund - Cap Blend Index: TRBIX
++# TIAA-CREF Retirement Fund - Small-Cap Equity: TRSEX
++# TIAA-CREF Retirement Fund - Social Choice Equity: TRSCX
++
++# TIAA-CREF Institutional Fund - Bond: TIBDX 1835
++# TIAA-CREF Institutional Fund - Bond Index: TBIIX 1837
++# TIAA-CREF Institutional Fund - Bond Plus: TIBFX 1827
++# TIAA-CREF Institutional Fund - Emerging Markets Equity: TEMLX 1848
++# TIAA-CREF Institutional Fund - Emerging Markets Equity Index: TEQLX 1849
++# TIAA-CREF Institutional Fund - Enhanced International Equity Index: TFIIX 1822
++# TIAA-CREF Institutional Fund - Enhanced Large-Cap Growth Index: TLIIX 1820
++# TIAA-CREF Institutional Fund - Enhanced Large-Cap Value Index: TEVIX 1821
++# TIAA-CREF Institutional Fund - Equity Index: TIEIX 1833
++# TIAA-CREF Institutional Fund - Growth & Income: TIGRX 1832
++# TIAA-CREF Institutional Fund - High-Yield: TIHYX 1826
++# TIAA-CREF Institutional Fund - Inflation-Linked Bond: TIILX 1605
++# TIAA-CREF Institutional Fund - International Equity: TIIEX 1830
++# TIAA-CREF Institutional Fund - International Equity Index: TCIEX 1615
++# TIAA-CREF Institutional Fund - Large-Cap Growth: TILGX 1824
++# TIAA-CREF Institutional Fund - Large-Cap Growth Index: TILIX 1607
++# TIAA-CREF Institutional Fund - Large-Cap Value: TRLIX 1601
++# TIAA-CREF Institutional Fund - Large-Cap Value Index: TILVX 1608
++# TIAA-CREF Institutional Fund - Lifecycle 2010: TCTIX 1810
++# TIAA-CREF Institutional Fund - Lifecycle 2015: TCNIX 1811
++# TIAA-CREF Institutional Fund - Lifecycle 2020: TCWIX 1812
++# TIAA-CREF Institutional Fund - Lifecycle 2025: TCYIX 1813
++# TIAA-CREF Institutional Fund - Lifecycle 2030: TCRIX 1814
++# TIAA-CREF Institutional Fund - Lifecycle 2035: TCIIX 1815
++# TIAA-CREF Institutional Fund - Lifecycle 2040: TCOIX 1816
++# TIAA-CREF Institutional Fund - Lifecycle 2045: TTFIX 1817
++# TIAA-CREF Institutional Fund - Lifecycle 2050: TFTIX 1818
++# TIAA-CREF Institutional Fund - Lifecycle Retirement Income: TLRIX 1819
++# TIAA-CREF Institutional Fund - Managed Allocation: TIMIX 1825
++# TIAA-CREF Institutional Fund - Mid-Cap Growth: TRPWX 1602
++# TIAA-CREF Institutional Fund - Mid-Cap Value: TIMVX 1603
++# TIAA-CREF Institutional Fund - Money Market: TCIXX 1836
++# TIAA-CREF Institutional Fund - Real Estate Securities: TIREX 1604
++# TIAA-CREF Institutional Fund - S&P 500 Index: TISPX 1606
++# TIAA-CREF Institutional Fund - Short-Term Bond: TISIX 1828
++# TIAA-CREF Institutional Fund - Small-Cap Blend Index: TISBX 1612
++# TIAA-CREF Institutional Fund - Small-Cap Equity: TISEX 1634
++# TIAA-CREF Institutional Fund - Social Choice Equity: TISCX 1834
++# TIAA-CREF Institutional Fund - Tax-Exempt Bond: TITIX 1829
++
+
+ #
+ # This subroutine was written by Brent Neal <brentn at users.sourceforge.net>
+@@ -157,6 +235,84 @@ sub tiaacref
+ $tiaacref_ids{"TCSCX"} = "TIAA-CREF Social Choice Equity";
+
+ $tiaacref_ids{"TIMAX"} = "TIAA-CREF Managed Allocation";
++
++ # Retirement class funds
++ $tiaacref_ids{"TIDRX"} = "Retirement Fund - Bond";
++ $tiaacref_ids{"TBIRX"} = "Retirement Fund - Bond Index";
++ $tiaacref_ids{"TCBRX"} = "Retirement Fund - Bond Plus";
++ $tiaacref_ids{"TEMSX"} = "Retirement Fund - Emerging Markets Equity";
++ $tiaacref_ids{"TEQSX"} = "Retirement Fund - Emerging Markets Equity Index";
++ $tiaacref_ids{"TIQRX"} = "Retirement Fund - Equity Index";
++ $tiaacref_ids{"TRGIX"} = "Retirement Fund - Growth & Income";
++ $tiaacref_ids{"TIHRX"} = "Retirement Fund - High-Yield";
++ $tiaacref_ids{"TIKRX"} = "Retirement Fund - Inflation-Linked Bond";
++ $tiaacref_ids{"TRERX"} = "Retirement Fund - International Equity";
++ $tiaacref_ids{"TRIEX"} = "Retirement Fund - International Equity Index";
++ $tiaacref_ids{"TILRX"} = "Retirement Fund - Large-Cap Growth";
++ $tiaacref_ids{"TRIRX"} = "Retirement Fund - Large-Cap Growth Index";
++ $tiaacref_ids{"TRLCX"} = "Retirement Fund - Large-Cap Value";
++ $tiaacref_ids{"TRCVX"} = "Retirement Fund - Large-Cap Value Index";
++ $tiaacref_ids{"TCLEX"} = "Retirement Fund - Lifecycle 2010";
++ $tiaacref_ids{"TCLIX"} = "Retirement Fund - Lifecycle 2015";
++ $tiaacref_ids{"TCLTX"} = "Retirement Fund - Lifecycle 2020";
++ $tiaacref_ids{"TCLFX"} = "Retirement Fund - Lifecycle 2025";
++ $tiaacref_ids{"TCLNX"} = "Retirement Fund - Lifecycle 2030";
++ $tiaacref_ids{"TCLRX"} = "Retirement Fund - Lifecycle 2035";
++ $tiaacref_ids{"TCLOX"} = "Retirement Fund - Lifecycle 2040";
++ $tiaacref_ids{"TTFRX"} = "Retirement Fund - Lifecycle 2045";
++ $tiaacref_ids{"TLFRX"} = "Retirement Fund - Lifecycle 2050";
++ $tiaacref_ids{"TLIRX"} = "Retirement Fund - Lifecycle Retirement Income";
++ $tiaacref_ids{"TITRX"} = "Retirement Fund - Managed Allocation";
++ $tiaacref_ids{"TRGMX"} = "Retirement Fund - Mid-Cap Growth";
++ $tiaacref_ids{"TRVRX"} = "Retirement Fund - Mid-Cap Value";
++ $tiaacref_ids{"TIEXX"} = "Retirement Fund - Money Market";
++ $tiaacref_ids{"TRRSX"} = "Retirement Fund - Real Estate Securities";
++ $tiaacref_ids{"TRSPX"} = "Retirement Fund - S&P 500 Index";
++ $tiaacref_ids{"TISRX"} = "Retirement Fund - Short-Term Bond";
++ $tiaacref_ids{"TRBIX"} = "Retirement Fund - Small-Cap Blend Index";
++ $tiaacref_ids{"TRSEX"} = "Retirement Fund - Small-Cap Equity";
++ $tiaacref_ids{"TRSCX"} = "Retirement Fund - Social Choice Equity";
++
++ #Institutional class funds
++ $tiaacref_ids{"TIBDX"} = "Institutional Fund - Bond";
++ $tiaacref_ids{"TBIIX"} = "Institutional Fund - Bond Index";
++ $tiaacref_ids{"TIBFX"} = "Institutional Fund - Bond Plus";
++ $tiaacref_ids{"TEMLX"} = "Institutional Fund - Emerging Markets Equity";
++ $tiaacref_ids{"TEQLX"} = "Institutional Fund - Emerging Markets Equity Index";
++ $tiaacref_ids{"TFIIX"} = "Institutional Fund - Enhanced International Equity Index";
++ $tiaacref_ids{"TLIIX"} = "Institutional Fund - Enhanced Large-Cap Growth Index";
++ $tiaacref_ids{"TEVIX"} = "Institutional Fund - Enhanced Large-Cap Value Index";
++ $tiaacref_ids{"TIEIX"} = "Institutional Fund - Equity Index";
++ $tiaacref_ids{"TIGRX"} = "Institutional Fund - Growth & Income";
++ $tiaacref_ids{"TIHYX"} = "Institutional Fund - High-Yield";
++ $tiaacref_ids{"TIILX"} = "Institutional Fund - Inflation-Linked Bond";
++ $tiaacref_ids{"TIIEX"} = "Institutional Fund - International Equity";
++ $tiaacref_ids{"TCIEX"} = "Institutional Fund - International Equity Index";
++ $tiaacref_ids{"TILGX"} = "Institutional Fund - Large-Cap Growth";
++ $tiaacref_ids{"TILIX"} = "Institutional Fund - Large-Cap Growth Index";
++ $tiaacref_ids{"TRLIX"} = "Institutional Fund - Large-Cap Value";
++ $tiaacref_ids{"TILVX"} = "Institutional Fund - Large-Cap Value Index";
++ $tiaacref_ids{"TCTIX"} = "Institutional Fund - Lifecycle 2010";
++ $tiaacref_ids{"TCNIX"} = "Institutional Fund - Lifecycle 2015";
++ $tiaacref_ids{"TCWIX"} = "Institutional Fund - Lifecycle 2020";
++ $tiaacref_ids{"TCYIX"} = "Institutional Fund - Lifecycle 2025";
++ $tiaacref_ids{"TCRIX"} = "Institutional Fund - Lifecycle 2030";
++ $tiaacref_ids{"TCIIX"} = "Institutional Fund - Lifecycle 2035";
++ $tiaacref_ids{"TCOIX"} = "Institutional Fund - Lifecycle 2040";
++ $tiaacref_ids{"TTFIX"} = "Institutional Fund - Lifecycle 2045";
++ $tiaacref_ids{"TFTIX"} = "Institutional Fund - Lifecycle 2050";
++ $tiaacref_ids{"TLRIX"} = "Institutional Fund - Lifecycle Retirement Income";
++ $tiaacref_ids{"TIMIX"} = "Institutional Fund - Managed Allocation";
++ $tiaacref_ids{"TRPWX"} = "Institutional Fund - Mid-Cap Growth";
++ $tiaacref_ids{"TIMVX"} = "Institutional Fund - Mid-Cap Value";
++ $tiaacref_ids{"TCIXX"} = "Institutional Fund - Money Market";
++ $tiaacref_ids{"TIREX"} = "Institutional Fund - Real Estate Securities";
++ $tiaacref_ids{"TISPX"} = "Institutional Fund - S&P 500 Index";
++ $tiaacref_ids{"TISIX"} = "Institutional Fund - Short-Term Bond";
++ $tiaacref_ids{"TISBX"} = "Institutional Fund - Small-Cap Blend Index";
++ $tiaacref_ids{"TISEX"} = "Institutional Fund - Small-Cap Equity";
++ $tiaacref_ids{"TISCX"} = "Institutional Fund - Social Choice Equity";
++ $tiaacref_ids{"TITIX"} = "Institutional Fund - Tax-Exempt Bond";
+ }
+
+ if (! %tiaacref_vals) {
+@@ -200,6 +356,82 @@ sub tiaacref
+ $tiaacref_vals{"TCSCX"} = "83";
+
+ $tiaacref_vals{"TIMAX"} = "74";
++
++ $tiaacref_vals{"TIDRX"} = "1641";
++ $tiaacref_vals{"TBIRX"} = "1660";
++ $tiaacref_vals{"TCBRX"} = "1638";
++ $tiaacref_vals{"TEMSX"} = "1671";
++ $tiaacref_vals{"TEQSX"} = "1672";
++ $tiaacref_vals{"TIQRX"} = "1643";
++ $tiaacref_vals{"TRGIX"} = "1616";
++ $tiaacref_vals{"TIHRX"} = "1637";
++ $tiaacref_vals{"TIKRX"} = "1640";
++ $tiaacref_vals{"TRERX"} = "1618";
++ $tiaacref_vals{"TRIEX"} = "1632";
++ $tiaacref_vals{"TILRX"} = "1635";
++ $tiaacref_vals{"TRIRX"} = "1624";
++ $tiaacref_vals{"TRLCX"} = "1619";
++ $tiaacref_vals{"TRCVX"} = "1625";
++ $tiaacref_vals{"TCLEX"} = "1650";
++ $tiaacref_vals{"TCLIX"} = "1651";
++ $tiaacref_vals{"TCLTX"} = "1652";
++ $tiaacref_vals{"TCLFX"} = "1653";
++ $tiaacref_vals{"TCLNX"} = "1654";
++ $tiaacref_vals{"TCLRX"} = "1655";
++ $tiaacref_vals{"TCLOX"} = "1656";
++ $tiaacref_vals{"TTFRX"} = "1657";
++ $tiaacref_vals{"TLFRX"} = "1658";
++ $tiaacref_vals{"TLIRX"} = "1659";
++ $tiaacref_vals{"TITRX"} = "1636";
++ $tiaacref_vals{"TRGMX"} = "1620";
++ $tiaacref_vals{"TRVRX"} = "1621";
++ $tiaacref_vals{"TIEXX"} = "1642";
++ $tiaacref_vals{"TRRSX"} = "1622";
++ $tiaacref_vals{"TRSPX"} = "1623";
++ $tiaacref_vals{"TISRX"} = "1639";
++ $tiaacref_vals{"TRBIX"} = "1629";
++ $tiaacref_vals{"TRSEX"} = "1633";
++ $tiaacref_vals{"TRSCX"} = "1617";
++
++ $tiaacref_vals{"TIBDX"} = "1835";
++ $tiaacref_vals{"TBIIX"} = "1837";
++ $tiaacref_vals{"TIBFX"} = "1827";
++ $tiaacref_vals{"TEMLX"} = "1848";
++ $tiaacref_vals{"TEQLX"} = "1849";
++ $tiaacref_vals{"TFIIX"} = "1822";
++ $tiaacref_vals{"TLIIX"} = "1820";
++ $tiaacref_vals{"TEVIX"} = "1821";
++ $tiaacref_vals{"TIEIX"} = "1833";
++ $tiaacref_vals{"TIGRX"} = "1832";
++ $tiaacref_vals{"TIHYX"} = "1826";
++ $tiaacref_vals{"TIILX"} = "1605";
++ $tiaacref_vals{"TIIEX"} = "1830";
++ $tiaacref_vals{"TCIEX"} = "1615";
++ $tiaacref_vals{"TILGX"} = "1824";
++ $tiaacref_vals{"TILIX"} = "1607";
++ $tiaacref_vals{"TRLIX"} = "1601";
++ $tiaacref_vals{"TILVX"} = "1608";
++ $tiaacref_vals{"TCTIX"} = "1810";
++ $tiaacref_vals{"TCNIX"} = "1811";
++ $tiaacref_vals{"TCWIX"} = "1812";
++ $tiaacref_vals{"TCYIX"} = "1813";
++ $tiaacref_vals{"TCRIX"} = "1814";
++ $tiaacref_vals{"TCIIX"} = "1815";
++ $tiaacref_vals{"TCOIX"} = "1816";
++ $tiaacref_vals{"TTFIX"} = "1817";
++ $tiaacref_vals{"TFTIX"} = "1818";
++ $tiaacref_vals{"TLRIX"} = "1819";
++ $tiaacref_vals{"TIMIX"} = "1825";
++ $tiaacref_vals{"TRPWX"} = "1602";
++ $tiaacref_vals{"TIMVX"} = "1603";
++ $tiaacref_vals{"TCIXX"} = "1836";
++ $tiaacref_vals{"TIREX"} = "1604";
++ $tiaacref_vals{"TISPX"} = "1606";
++ $tiaacref_vals{"TISIX"} = "1828";
++ $tiaacref_vals{"TISBX"} = "1612";
++ $tiaacref_vals{"TISEX"} = "1634";
++ $tiaacref_vals{"TISCX"} = "1834";
++ $tiaacref_vals{"TITIX"} = "1829";
+ }
+
+ #The location doesn't matter anymore.
+@@ -247,29 +479,116 @@ sub tiaacref
+ $tiaacref_locs{"TCSCX"} = 1;
+
+ $tiaacref_locs{"TIMAX"} = 1;
++
++ $tiaacref_locs{"TIDRX"} = 1;
++ $tiaacref_locs{"TBIRX"} = 1;
++ $tiaacref_locs{"TCBRX"} = 1;
++ $tiaacref_locs{"TEMSX"} = 1;
++ $tiaacref_locs{"TEQSX"} = 1;
++ $tiaacref_locs{"TIQRX"} = 1;
++ $tiaacref_locs{"TRGIX"} = 1;
++ $tiaacref_locs{"TIHRX"} = 1;
++ $tiaacref_locs{"TIKRX"} = 1;
++ $tiaacref_locs{"TRERX"} = 1;
++ $tiaacref_locs{"TRIEX"} = 1;
++ $tiaacref_locs{"TILRX"} = 1;
++ $tiaacref_locs{"TRIRX"} = 1;
++ $tiaacref_locs{"TRLCX"} = 1;
++ $tiaacref_locs{"TRCVX"} = 1;
++ $tiaacref_locs{"TCLEX"} = 1;
++ $tiaacref_locs{"TCLIX"} = 1;
++ $tiaacref_locs{"TCLTX"} = 1;
++ $tiaacref_locs{"TCLFX"} = 1;
++ $tiaacref_locs{"TCLNX"} = 1;
++ $tiaacref_locs{"TCLRX"} = 1;
++ $tiaacref_locs{"TCLOX"} = 1;
++ $tiaacref_locs{"TTFRX"} = 1;
++ $tiaacref_locs{"TLFRX"} = 1;
++ $tiaacref_locs{"TLIRX"} = 1;
++ $tiaacref_locs{"TITRX"} = 1;
++ $tiaacref_locs{"TRGMX"} = 1;
++ $tiaacref_locs{"TRVRX"} = 1;
++ $tiaacref_locs{"TIEXX"} = 1;
++ $tiaacref_locs{"TRRSX"} = 1;
++ $tiaacref_locs{"TRSPX"} = 1;
++ $tiaacref_locs{"TISRX"} = 1;
++ $tiaacref_locs{"TRBIX"} = 1;
++ $tiaacref_locs{"TRSEX"} = 1;
++ $tiaacref_locs{"TRSCX"} = 1;
++
++ $tiaacref_locs{"TIBDX"} = 3;
++ $tiaacref_locs{"TBIIX"} = 3;
++ $tiaacref_locs{"TIBFX"} = 3;
++ $tiaacref_locs{"TEMLX"} = 3;
++ $tiaacref_locs{"TEQLX"} = 3;
++ $tiaacref_locs{"TFIIX"} = 3;
++ $tiaacref_locs{"TLIIX"} = 3;
++ $tiaacref_locs{"TEVIX"} = 3;
++ $tiaacref_locs{"TIEIX"} = 3;
++ $tiaacref_locs{"TIGRX"} = 3;
++ $tiaacref_locs{"TIHYX"} = 3;
++ $tiaacref_locs{"TIILX"} = 3;
++ $tiaacref_locs{"TIIEX"} = 3;
++ $tiaacref_locs{"TCIEX"} = 3;
++ $tiaacref_locs{"TILGX"} = 3;
++ $tiaacref_locs{"TILIX"} = 3;
++ $tiaacref_locs{"TRLIX"} = 3;
++ $tiaacref_locs{"TILVX"} = 3;
++ $tiaacref_locs{"TCTIX"} = 3;
++ $tiaacref_locs{"TCNIX"} = 3;
++ $tiaacref_locs{"TCWIX"} = 3;
++ $tiaacref_locs{"TCYIX"} = 3;
++ $tiaacref_locs{"TCRIX"} = 3;
++ $tiaacref_locs{"TCIIX"} = 3;
++ $tiaacref_locs{"TCOIX"} = 3;
++ $tiaacref_locs{"TTFIX"} = 3;
++ $tiaacref_locs{"TFTIX"} = 3;
++ $tiaacref_locs{"TLRIX"} = 3;
++ $tiaacref_locs{"TIMIX"} = 3;
++ $tiaacref_locs{"TRPWX"} = 3;
++ $tiaacref_locs{"TIMVX"} = 3;
++ $tiaacref_locs{"TCIXX"} = 3;
++ $tiaacref_locs{"TIREX"} = 3;
++ $tiaacref_locs{"TISPX"} = 3;
++ $tiaacref_locs{"TISIX"} = 3;
++ $tiaacref_locs{"TISBX"} = 3;
++ $tiaacref_locs{"TISEX"} = 3;
++ $tiaacref_locs{"TISCX"} = 3;
++ $tiaacref_locs{"TITIX"} = 3;
+ }
+ my(@funds) = @_;
+ return unless @funds;
+ my(@line); #holds the return from parse_csv
+ my(%info);
+ my(%check); #holds success value if data returned
+- my($ua,$urlc,$urlt); #useragent and target urls
+- my($cntc,$cntt); #counters for each of the two url containers
++ my($ua,$urlc,$urlci,$urlt); #useragent and target urls
++ my($cntc,$cntci,$cntt); #counters for each of the two url containers
+ my($reply,$qdata); #the reply from TIAA-CREF's cgi and a buffer for the data
++ my $cbResult = 'cbResults=';
++ my $cbResulti = 'cbResults=';
++
++ $urlc = $CREF_URL;
++ $urlc .= "page=input&numdays=2&sqlorder=asc&dldformat=1&submit.x=29&submit.y=7";
++ $urlci = $CREF_URL_INST;
++ $urlci .= "page=input&numdays=2&sqlorder=asc&dldformat=1&submit.x=29&submit.y=7";
+
+-# $url = $TIAACREF_URL;
+- $urlc = $CREF_URL;
+ $urlt = $TIAA_URL;
+ #Initialize counters for the two types of URL. If either counter is zero, then
+ # that URL will not be retrieved. This is less technically clever than testing
+ #the URL string itself with m/yes/, but its faster.
+ $cntc = 0;
++ $cntci = 0;
+ $cntt = 0;
+ foreach my $fund (@funds) {
+ if ($tiaacref_ids{$fund}) {
+ if ($tiaacref_locs{$fund} == 1) {
+ $cntc++;
+- $urlc .= "f" . $cntc . "=" . $tiaacref_vals{$fund} . "&";
++ $urlc .= "&fundid" . $tiaacref_vals{$fund} . "=" . $tiaacref_vals{$fund};
++ $cbResult .= ($cntc > 1) ? ( "%2C" . $tiaacref_vals{$fund}) : ($tiaacref_vals{$fund})
++ } elsif ($tiaacref_locs{$fund} == 3) {
++ $cntci++;
++ $urlci .= "&fundid" . $tiaacref_vals{$fund} . "=" . $tiaacref_vals{$fund};
++ $cbResulti .= ($cntci > 1) ? ( "%2C" . $tiaacref_vals{$fund}) : ($tiaacref_vals{$fund})
+ } else {
+ $urlt .= $fund . "=yes&";
+ $cntt++;
+@@ -280,8 +599,8 @@ sub tiaacref
+ $info{$fund,"errormsg"} = "Bad symbol";
+ }
+ }
+- $urlc .= "days=1";
+- $urlc .= "&dldformat=1";
++ $urlc .= "&$cbResult";
++ $urlci .= "&$cbResulti";
+ $urlt .= "selected=1";
+ $qdata ="";
+
+@@ -292,15 +611,27 @@ sub tiaacref
+ $qdata .= $reply->content;
+ }
+ }
++ if ($cntci) {
++ $reply = $ua->request(GET $urlci);
++ if ($reply ->is_success) {
++ $qdata .= $reply->content;
++ }
++ }
+ if ($cntt) {
+ $reply = $ua->request(GET $urlt);
+ if ($reply ->is_success) {
+ $qdata .= $reply->content;
+ }
+ }
++
+ if (length($qdata)) {
+- foreach (split('\012',$qdata) ){
++ foreach (split(/<br .>/,$qdata) ){
++ next unless m/.+,.+/;
++ s/[\r\n]+//g;
++ s/^ +//g;
++ s/ +$//g;
+ @line = $quoter->parse_csv($_);
++
+ if (exists $check{$line[0]}) { #did we ask for this data?
+ $info{$line[0],"symbol"} = $line[0]; #in case the caller needs this in the hash
+ $info{$line[0],"exchange"} = "TIAA-CREF";
+@@ -398,6 +729,82 @@ The following symbols can be used:
+ TIAA-CREF Social Choice Equity: TCSCX
+ TIAA-CREF Managed Allocation: TIMAX
+
++ TIAA-CREF Retirement Fund - Bond: TIDRX
++ TIAA-CREF Retirement Fund - Bond Index: TBIRX
++ TIAA-CREF Retirement Fund - Bond Plus: TCBRX
++ TIAA-CREF Retirement Fund - Emerging Markets Equity: TEMSX
++ TIAA-CREF Retirement Fund - Emerging Markets Equity Index: TEQSX
++ TIAA-CREF Retirement Fund - Equity Index: TIQRX
++ TIAA-CREF Retirement Fund - Growth & Income: TRGIX
++ TIAA-CREF Retirement Fund - High-Yield: TIHRX
++ TIAA-CREF Retirement Fund - Inflation-Linked Bond: TIKRX
++ TIAA-CREF Retirement Fund - International Equity: TRERX
++ TIAA-CREF Retirement Fund - International Equity Index: TRIEX
++ TIAA-CREF Retirement Fund - Large-Cap Growth: TILRX
++ TIAA-CREF Retirement Fund - Large-Cap Growth Index: TRIRX
++ TIAA-CREF Retirement Fund - Large-Cap Value: TRLCX
++ TIAA-CREF Retirement Fund - Large-Cap Value Index: TRCVX
++ TIAA-CREF Retirement Fund - Lifecycle 2010: TCLEX
++ TIAA-CREF Retirement Fund - Lifecycle 2015: TCLIX
++ TIAA-CREF Retirement Fund - Lifecycle 2020: TCLTX
++ TIAA-CREF Retirement Fund - Lifecycle 2025: TCLFX
++ TIAA-CREF Retirement Fund - Lifecycle 2030: TCLNX
++ TIAA-CREF Retirement Fund - Lifecycle 2035: TCLRX
++ TIAA-CREF Retirement Fund - Lifecycle 2040: TCLOX
++ TIAA-CREF Retirement Fund - Lifecycle 2045: TTFRX
++ TIAA-CREF Retirement Fund - Lifecycle 2050: LFRX
++ TIAA-CREF Retirement Fund - Lifecycle Retirement Income: TLIRX
++ TIAA-CREF Retirement Fund - Managed Allocation: TITRX
++ TIAA-CREF Retirement Fund - Mid-Cap Growth: TRGMX
++ TIAA-CREF Retirement Fund - Mid-Cap Value: TRVRX
++ TIAA-CREF Retirement Fund - Money Market: TIEXX
++ TIAA-CREF Retirement Fund - Real Estate Securities: TRRSX
++ TIAA-CREF Retirement Fund - S&P 500 Index: TRSPX
++ TIAA-CREF Retirement Fund - Short-Term Bond: TISRX
++ TIAA-CREF Retirement Fund - Cap Blend Index: TRBIX
++ TIAA-CREF Retirement Fund - Small-Cap Equity: TRSEX
++ TIAA-CREF Retirement Fund - Social Choice Equity: TRSCX
++
++ TIAA-CREF Institutional Fund - Bond: TIBDX
++ TIAA-CREF Institutional Fund - Bond Index: TBIIX
++ TIAA-CREF Institutional Fund - Bond Plus: TIBFX
++ TIAA-CREF Institutional Fund - Emerging Markets Equity: TEMLX
++ TIAA-CREF Institutional Fund - Emerging Markets Equity Index: TEQLX
++ TIAA-CREF Institutional Fund - Enhanced International Equity Index: TFIIX
++ TIAA-CREF Institutional Fund - Enhanced Large-Cap Growth Index: TLIIX
++ TIAA-CREF Institutional Fund - Enhanced Large-Cap Value Index: TEVIX
++ TIAA-CREF Institutional Fund - Equity Index: TIEIX
++ TIAA-CREF Institutional Fund - Growth & Income: TIGRX
++ TIAA-CREF Institutional Fund - High-Yield: TIHYX
++ TIAA-CREF Institutional Fund - Inflation-Linked Bond: TIILX
++ TIAA-CREF Institutional Fund - International Equity: TIIEX
++ TIAA-CREF Institutional Fund - International Equity Index: TCIEX
++ TIAA-CREF Institutional Fund - Large-Cap Growth: TILGX
++ TIAA-CREF Institutional Fund - Large-Cap Growth Index: TILIX
++ TIAA-CREF Institutional Fund - Large-Cap Value: TRLIX
++ TIAA-CREF Institutional Fund - Large-Cap Value Index: TILVX
++ TIAA-CREF Institutional Fund - Lifecycle 2010: TCTIX
++ TIAA-CREF Institutional Fund - Lifecycle 2015: TCNIX
++ TIAA-CREF Institutional Fund - Lifecycle 2020: TCWIX
++ TIAA-CREF Institutional Fund - Lifecycle 2025: TCYIX
++ TIAA-CREF Institutional Fund - Lifecycle 2030: TCRIX
++ TIAA-CREF Institutional Fund - Lifecycle 2035: TCIIX
++ TIAA-CREF Institutional Fund - Lifecycle 2040: TCOIX
++ TIAA-CREF Institutional Fund - Lifecycle 2045: TTFIX
++ TIAA-CREF Institutional Fund - Lifecycle 2050: TFTIX
++ TIAA-CREF Institutional Fund - Lifecycle Retirement Income: TLRIX
++ TIAA-CREF Institutional Fund - Managed Allocation: TIMIX
++ TIAA-CREF Institutional Fund - Mid-Cap Growth: TRPWX
++ TIAA-CREF Institutional Fund - Mid-Cap Value: TIMVX
++ TIAA-CREF Institutional Fund - Money Market: TCIXX
++ TIAA-CREF Institutional Fund - Real Estate Securities: TIREX
++ TIAA-CREF Institutional Fund - S&P 500 Index: TISPX
++ TIAA-CREF Institutional Fund - Short-Term Bond: TISIX
++ TIAA-CREF Institutional Fund - Small-Cap Blend Index: TISBX
++ TIAA-CREF Institutional Fund - Small-Cap Equity: TISEX
++ TIAA-CREF Institutional Fund - Social Choice Equity: TISCX
++ TIAA-CREF Institutional Fund - Tax-Exempt Bond: TITIX
++
+
+ This module is loaded by default on a Finance::Quote object. It's
+ also possible to load it explicitly by passing "Tiaacref" in to the
More information about the perl-devel
mailing list