#!/usr/bin/perl -w
# get_earnings_report.pl
#
# Loguje si na witrynie Amazon, pobiera raport o dochodach
# i zapisuje go w formie HTML na naszej witrynie.
# Uycie: perl get_earnings_report.pl
use strict;
use URI::Escape;
use HTTP::Cookies;
use LWP::UserAgent;

# Dane o naszym koncie Associates.
my $email = 'tutaj adres e-mail';
my $pass = 'tutaj haso';
my $aftag = 'tutaj znacznik partnera';

# Utworzenie obiektu user-agent,
# podanie faszywego identyfikatora przegldarki.
my $ua = LWP::UserAgent->new;
$ua->agent("(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)");
$ua->cookie_jar({}); # ciasteczka w pamici.

# danie raportw z obrotem i logowanie w jednym przejciu.
my $rpturl  = "http://associates.amazon.com/exec/panama/login/".
              "attempt/customer/associates/no-customer-id/25/".
              "associates/resources/reporting/earnings/";
my $rptreq  = HTTP::Request->new(POST => $rpturl);
my $rptdata = "report-type=shipments-by-item".   # pobieranie poszczeglnych danych
              "&date-selection=qtd".             # wszystkie obroty za kwarta
              "&login_id=".uri_escape($email).   # nasz adres e-mail
              "&login_password=".uri_escape($pass).  # i haso.
              "&submit.download=Download my report". # pobierz raport.
              "&enable-login-post=true"; # jednoczenie loguj si i wylij.
$rptreq->content_type('application/x-www-form-urlencoded');
$rptreq->content($rptdata); my $report = $ua->request($rptreq);
 
# Jeli w celu usunicia bdw chcemy zobaczy raport,
# naley poniszy wiersz odkomentowa.
# print $report->content;

# Wstawienie raportu do tablicy.
my @lines = split(/\n/, $report->content);
 
# Pobranie okresu.
my @fromdate = split(/\t/, $lines[1]);
my @todate = split(/\t/, $lines[2]);
my $from = $fromdate[1];
my $to = $todate[1];
 
# Prezentacja nagwka...
print "<html><body>";
print "<h2>Towary nabyte przez t witryn</h2>";
print "od $from do $to <br><br>\n";
print "<ul>";
 
# Ptla po reszcie raportu.
splice(@lines,0,5);
foreach my $line (@lines) {
    my @fields  = split(/\t/, $line);
    my $title   = $fields[1];
    my $asin    = $fields[2];
    my $edition = $fields[4];
    my $items   = $fields[8];

    # Formatowanie pozycji raportu za pomoc HTML.
    print "<li><a href=\"http://www.amazon.com/o/ASIN/$asin/ref=nosim/".
          "$aftag\">$title</a> ($items) $edition <br>\n";
}
print "</ul></body></html>";

