-
Notifications
You must be signed in to change notification settings - Fork 0
/
populate_stocks.py
44 lines (33 loc) · 1.23 KB
/
populate_stocks.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import os
from datetime import datetime, timedelta
from random import randint
# copied from the web
def random_date(start, end):
return start + timedelta(
seconds=randint(0, int((end - start).total_seconds())))
def populate():
tformat = '%m/%d/%Y %I:%M %p'
s = add_session(datetime=random_date(
datetime.strptime('1/1/2008 1:30 PM', tformat),
datetime.strptime('1/1/2010 1:30 PM', tformat)))
q = add_query(session=s,
text="""
SELECT * FROM yahoo.finance.quote
WHERE symbol in ("GOOG", "MSFT")
""")
# Print out what we have added to the user.
for s in Session.objects.all():
for q in s.query_set.all():
print "- {0} - {1}".format(str(s), str(q))
def add_session(datetime):
s = Session.objects.get_or_create(session_datetime=datetime)[0]
return s
def add_query(session, text):
q = Search.objects.get_or_create(session=session, text=text)[0]
return q
# Start execution here!
if __name__ == '__main__':
print "Starting Visual population script..."
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'stocks.settings')
from visual.models import Session, Search
populate()