App-Chart

 view release on metacpan or  search on metacpan

lib/App/Chart/Suffix/ATH.pm  view on Meta::CPAN

#    http://www.ase.gr/content/en/Companies/ListedCo/Profiles/pr_Snapshot.asp?share=HTO
#    http://www.ase.gr/content/en/marketdata/stocks/prices/Share_SearchResults.asp?share=HTO



package App::Chart::Suffix::ATH;
use 5.006;
use strict;
use warnings;
use URI::Escape;
use Locale::TextDomain 'App-Chart';

use App::Chart;
use App::Chart::Download;
use App::Chart::DownloadHandler;
use App::Chart::DownloadHandler::DividendsPage;
use App::Chart::Sympred;
use App::Chart::TZ;
use App::Chart::Weblink;


my $timezone_athens = App::Chart::TZ->new
  (name     => __('Athens'),
   choose   => [ 'Europe/Athens' ],
   fallback => 'EET-2');
my $pred = App::Chart::Sympred::Suffix->new ('.ATH');
$timezone_athens->setup_for_symbol ($pred);

# (source-help! athens-symbol?
# 	      (__p('manual-node','Athens Stock Exchange'))


#------------------------------------------------------------------------------
# weblink - company info
#
# The greek pages "/gr/" need greek symbols, the english doesn't work, hence
# only an english link here, for now.

App::Chart::Weblink->new
  (pred => $pred,
   name => __('ATHEX _Company Information'),
   desc => __('Open web browser at the Athens Stock Exchange page for this company'),
   proc => sub {
     my ($symbol) = @_;
     return 'http://www.ase.gr/content/en/Companies/ListedCo/Profiles/Profile.asp?name='
       . URI::Escape::uri_escape (App::Chart::symbol_sans_suffix ($symbol));
   });


#------------------------------------------------------------------------------
# 8859-7 transliteration
#
# The 8859-7 bytes here in the source are for ease of seeing what they're
# supposed to be, but they're only in the comments, the code is all-ascii.
#
# $translit is a Regexp::Tr mapping Perl wide-chars which are certain greek
# characters (from iso-8859-7) to some latin equivalents.
#
# This is for some greek characters found in otherwise English names, like
# ÂÁÍÊ (0xC2,0xC1,0xCD,0xCA) for BANK in ALPHA.ATH.  That comes out looking
# ok in Gtk or anywhere with good fonts, but for a tty a change to the
# actual intended latin characters is needed to make it printable.

our $translit; # global for testing
{
  my %table
    = (
       #            # A0   NO-BREAK SPACE
       #            # A1 ¡ MODIFIER LETTER REVERSED COMMA
       #            # A2 ¢ MODIFIER LETTER APOSTROPHE
       #            # A3 £ POUND SIGN
       #            # A4
       #            # A5
       #            # A6 ¦ BROKEN BAR
       #            # A7 § SECTION SIGN
       #            # A8 ¨ DIAERESIS
       #            # A9
       #            # AA
       #            # AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
       #            # AC ¬ NOT SIGN
       #            # AD ­ SOFT HYPHEN
       #            # AE
       #            # AF ¯ HORIZONTAL BAR
       #            # B0 ° DEGREE SIGN
       #            # B1 ± PLUS-MINUS SIGN
       #            # B2 ² SUPERSCRIPT TWO
       #            # B3 ³ SUPERSCRIPT THREE
       #            # B4 ´ GREEK TONOS
       #            # B5 µ GREEK DIALYTIKA TONOS
       0xB6 => 'A', # B6 ¶ GREEK CAPITAL LETTER ALPHA WITH TONOS
       #            # B7 · MIDDLE DOT
       0xB8 => 'E', # B8 ¸ GREEK CAPITAL LETTER EPSILON WITH TONOS
       0xB9 => 'H', # B9 ¹ GREEK CAPITAL LETTER ETA WITH TONOS
       0xBA => 'I', # BA º GREEK CAPITAL LETTER IOTA WITH TONOS
       #            # BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
       #            # BC ¼ GREEK CAPITAL LETTER OMICRON WITH TONOS
       #            # BD ½ VULGAR FRACTION ONE HALF
       #            # BE ¾ GREEK CAPITAL LETTER UPSILON WITH TONOS
       0xBF => 'O', # BF ¿ GREEK CAPITAL LETTER OMEGA WITH TONOS
       #            # C0 À GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
       0xC1 => 'A', # C1 Á GREEK CAPITAL LETTER ALPHA
       0xC2 => 'B', # C2 Â GREEK CAPITAL LETTER BETA
       0xC3 => 'G', # C3 Ã GREEK CAPITAL LETTER GAMMA
       0xC4 => 'D', # C4 Ä GREEK CAPITAL LETTER DELTA
       0xC5 => 'E', # C5 Å GREEK CAPITAL LETTER EPSILON
       0xC6 => 'Z', # C6 Æ GREEK CAPITAL LETTER ZETA
       0xC7 => 'H', # C7 Ç GREEK CAPITAL LETTER ETA
       #            # C8 È GREEK CAPITAL LETTER THETA
       0xC9 => 'I', # C9 É GREEK CAPITAL LETTER IOTA
       0xCA => 'K', # CA Ê GREEK CAPITAL LETTER KAPPA
       0xCB => 'L', # CB Ë GREEK CAPITAL LETTER LAMDA
       0xCC => 'M', # CC Ì GREEK CAPITAL LETTER MU
       0xCD => 'N', # CD Í GREEK CAPITAL LETTER NU
       0xCE => 'X', # CE Î GREEK CAPITAL LETTER XI
       #            # CF Ï GREEK CAPITAL LETTER OMICRON
       0xD0 => 'P', # D0 Ð GREEK CAPITAL LETTER PI
       0xD1 => 'R', # D1 Ñ GREEK CAPITAL LETTER RHO
       #            # D2
       0xD3 => 'S', # D3 Ó GREEK CAPITAL LETTER SIGMA
       0xD4 => 'T', # D4 Ô GREEK CAPITAL LETTER TAU
       #            # D5 Õ GREEK CAPITAL LETTER UPSILON



( run in 0.784 second using v1.01-cache-2.11-cpan-5735350b133 )