[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 scm-commits mailing list