added portfolio section
[stockthis] / settings.py
1 import sqlite3
2 import os
3
4 def create_initial_portfolio(sqlite_db):
5     cursor_sql = sqlite_db.cursor()
6     cursor_sql.execute('CREATE TABLE Portfolio (symbol text, name text, '
7                         'shares text, price text)')
8     sqlite_db.commit()
9     cursor_sql.close()
10
11 def load_portfolio(sqlite_db):
12     portfolio = []
13     for table in sqlite_db.execute('select * from Portfolio'):
14         portfolio.append([table[0], table[1], table[2], table[3]])
15
16     return portfolio
17
18 def insert_new_item_to_portfolio(sqlite_db, item):
19     cursor_sql = sqlite_db.cursor()
20     cursor_sql.execute('INSERT INTO Portfolio VALUES (?, ?, ?, ?)',
21                             (item[0], item[1], item[2], item[3]))
22
23     sqlite_db.commit()
24     cursor_sql.close()
25
26 def save_portfolio(sqlite_db, portfolio):
27     cursor_sql = sqlite_db.cursor()
28
29     for item in portfolio:
30         cursor_sql.execute('INSERT INTO Portfolio VALUES (?, ?, ?, ?)',
31                             (item[0], item[1], item[2], item[3]))
32
33         sqlite_db.commit()
34     cursor_sql.close()
35
36 def clear_portfolio(sqlite_db):
37     cursor_sql = sqlite_db.cursor()
38     sqlite_db.execute('delete from Portfolio')
39     sqlite_db.commit()
40     cursor_sql.close()
41
42 def delete_item_from_portfolio(sqlite_db, symbol):
43     cursor_sql = sqlite_db.cursor()
44     sqlite_db.execute('delete from Portfolio where symbol="%s"' % symbol)
45     sqlite_db.commit()
46     cursor_sql.close()
47
48 def define_paths(locally, HOME):
49     configdir = HOME + '/.stockthis/'
50     logfile = configdir + 'log.txt'
51
52     if not os.path.exists(configdir):
53         os.mkdir(configdir)
54
55     if os.path.exists(configdir + 'settings'):
56         settingsdb = sqlite3.connect(configdir + 'settings')
57     else:
58         settingsdb = sqlite3.connect(configdir + 'settings')
59         create_initial_portfolio(settingsdb)
60
61     if locally:
62         imgdir = 'pixmaps/'
63     else:
64         imgdir = '/usr/share/stockthis/pixmaps/'
65
66     return settingsdb, imgdir, configdir, logfile