~luisbg/booty/trunk

« back to all changes in this revision

Viewing changes to src/booty

  • Committer: Luis de Bethencourt
  • Date: 2009-01-03 01:48:47 UTC
  • Revision ID: luisbg@rorschach-20090103014847-78n2utr2y75yytcn
added support for multiple stocks

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
import ystockquote, sys, os
6
6
import smtplib
7
7
 
8
 
num_stocks = 444
9
 
purchase_price = 6.66
10
 
 
11
 
bsch_quote = float(ystockquote.get_price('SAN.MC'))
12
 
diff = bsch_quote - purchase_price
13
 
if diff > 0:
14
 
    quote_str = "Banco Santander: " + str(bsch_quote) + "€  (+" + str(diff) \
15
 
        + ")" 
16
 
else:
17
 
    quote_str = "Banco Santander: " + str(bsch_quote) + "€  (" + str(diff) + \
18
 
        ")" 
19
 
print quote_str + "\n"
20
 
 
21
 
balance = (bsch_quote * num_stocks) - (purchase_price * num_stocks)
22
 
percentage = ((purchase_price - bsch_quote ) / purchase_price) * -100
23
 
 
24
 
if balance > 0:
25
 
    balance_str = "Balance:  +" + str(balance) + "€   (+" \
26
 
        + str(percentage)[:4] + "%)"
27
 
else:
28
 
    balance_str = "Balance:  " + str(balance) + "€   (" \
29
 
        + str(percentage)[:4] + "%)"
30
 
print balance_str
31
 
 
32
 
total = bsch_quote * num_stocks
33
 
total_str = "Total:     " + str(total) + "€  (" + str(num_stocks) + " stocks)"
34
 
print total_str
35
 
 
36
 
 
37
 
# lets send an email with the info
38
 
fromaddr = "booty@rorschach" 
 
8
stocks = []
 
9
num_stocks = []
 
10
purchase_prices = []
 
11
 
 
12
stocks.append("SAN.MC")
 
13
num_stocks.append(444)
 
14
purchase_prices.append(6.66)
 
15
 
 
16
stocks.append("SAN.MC")
 
17
num_stocks.append(30)
 
18
purchase_prices.append(6.79)
 
19
 
 
20
# email info
 
21
fromaddr = "finance <luisbg@ubuntu.com>" 
39
22
toaddrs  = "bethencourt@gmail.com"
40
 
subject = "Finance update"
 
23
subject = "[LBG] Finance update"
 
24
 
 
25
smtpuser = "bethencourt@gmail.com"
 
26
gpass = open("/home/luisbg/gmailpass")
 
27
smtppass = gpass.readlines(1)[0]
41
28
 
42
29
# Add the From: and To: headers at the start!
43
30
msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n"
44
31
       % (fromaddr, toaddrs, subject))
45
 
msg = msg + quote_str + " \n" + "\n" + balance_str + "\n" + total_str
46
 
 
47
 
server = smtplib.SMTP('localhost')
48
 
server.set_debuglevel(1)
 
32
 
 
33
# Print all the information and add it to the mail
 
34
c = 0
 
35
total = 0
 
36
for elements in stocks:
 
37
    quote = float(ystockquote.get_price(stocks[c]))
 
38
    diff = quote - purchase_prices[c]
 
39
    if diff > 0:
 
40
        quote_str = "Banco Santander: " + str(quote) + "€  (+" + str(diff) \
 
41
            + ")" 
 
42
    else:
 
43
        quote_str = "Banco Santander: " + str(quote) + "€  (" + str(diff) + \
 
44
            ")" 
 
45
    print quote_str + "\n"
 
46
 
 
47
    balance = (quote * num_stocks[c]) - (purchase_prices[c] * num_stocks[c])
 
48
    percentage = ((purchase_prices[c] - quote ) / purchase_prices[c]) * -100
 
49
 
 
50
    if balance > 0:
 
51
        balance_str = "Balance:  +" + str(balance) + "€   (+" \
 
52
            + str(percentage)[:4] + "%)"
 
53
    else:
 
54
        balance_str = "Balance:  " + str(balance) + "€   (" \
 
55
            + str(percentage)[:4] + "%)"
 
56
    print balance_str
 
57
 
 
58
    value = quote * num_stocks[c]
 
59
    value_str = "Value:     " + str(value) + "€  (" + str(num_stocks[c]) + " stocks)"
 
60
    print value_str
 
61
 
 
62
    total += value
 
63
    msg = msg + quote_str + " \n" + "\n" + balance_str + "\n" + value_str + "\n\n"
 
64
    print ""
 
65
 
 
66
    c += 1
 
67
 
 
68
total_str = "Total:    " + str(total) + "€"
 
69
print total_str
 
70
msg = msg + total_str
 
71
 
 
72
# Login and send
 
73
print "\nSending..."
 
74
server = smtplib.SMTP('smtp.gmail.com')
 
75
server.set_debuglevel(False)
 
76
server.ehlo()
 
77
server.starttls()
 
78
server.ehlo()
 
79
server.login(smtpuser, smtppass)
49
80
server.sendmail(fromaddr, toaddrs, msg)
50
81
server.quit()
51
 
 
 
82
print "Finished :)"