import time import requests from pymongo import MongoClient import sys, os sys.path.append(os.getcwd() + "/include") from c2j import get_json_from_csv client = MongoClient() db = client.Stock_Data base_url = "http://download.finance.yahoo.com/d/quotes.csv" symbol = "GOOG" fields = "ask,bid\n" pricing_url = base_url + "?s=" + symbol + "&f=ab" while 1: csv_data = fields + requests.get(pricing_url).text json_data = get_json_from_csv(csv_data) collection = db.get_collection(symbol) collection.insert(json_data) time.sleep(1)
def test_valid_format(self): csv_data = "name,id\r\njohn,0\r\nfred,1\r\n" json_data = [{"name": "john", "id": "0"}, {"name": "fred", "id": "1"}] self.assertEqual(get_json_from_csv(csv_data), json_data)
def test_tab_dialect(self): csv_data = "name\tid\r\njohn\t0\r\nfred\t1\r\n" json_data = [{"name": "john", "id": "0"}, {"name": "fred", "id": "1"}] self.assertEqual(get_json_from_csv(csv_data, delimiter='\t'), json_data)
def test_missing_data(self): csv_data = "name,id\r\njohn,\r\n,1\r\n" json_data = [{"name": "john", "id": ""}, {"name": "", "id": "1"}] self.assertEqual(get_json_from_csv(csv_data), json_data)
def test_pipe_dialect(self): csv_data = "name|id\r\njohn|0\r\nfred|1\r\n" json_data = [{"name": "john", "id": "0"}, {"name": "fred", "id": "1"}] self.assertEqual(get_json_from_csv(csv_data, delimiter='|'), json_data)