#!/usr/bin/perl -w
use strict;
use Finance::Quote;
use Getopt::Std;

my %options = ('c' => '');
my $q = Finance::Quote->new;
my $last_value = 0;
my $stockname;
my $colour;

getopts('c:',\%options);
die "Usage: $0 [-c currency] source symbol\n" unless (defined $ARGV[1]);

if ($options{'c'}) {
	$q->set_currency($options{'c'});
  $stockname = $ARGV[2];
	$stockname =~ tr/a-z/A-Z/;
} else {
	$stockname = $ARGV[1];
	$stockname =~ tr/a-z/A-Z/;
}

for (;;) {
	my %quotes = $q->fetch(@ARGV);
	if ($quotes{"$stockname", "last"} lt $last_value) {
		print STDERR "\r",(' ' x 80),"\r";
		print STDERR "\033[31mName: ", $quotes{"$stockname", "name"}, " Value: ", $quotes{"$stockname", "last"};
		print STDERR " (previous value: $last_value)";
	} else {
		print STDERR "\r",(' ' x 80),"\r";
		print STDERR "\033[32mName: ", $quotes{"$stockname", "name"}, " Value: ", $quotes{"$stockname", "last"};
		print STDERR " (previous value: $last_value)";
	}

	$last_value = $quotes{"$stockname", "last"};
	sleep 30;
}
