-
Notifications
You must be signed in to change notification settings - Fork 0
/
writer.py
37 lines (28 loc) · 970 Bytes
/
writer.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
# imports...
from datetime import datetime
import pymongo
import requests
from config import Config
def write():
config = Config()
# create database and connect to mongoDB server
myclient = pymongo.MongoClient(config.get_db_url())
mydatabase = myclient[config.get_db_name()]
dblist = myclient.list_database_names()
# call CoinAPI/fetch data for Bitcoin
url = config.get_api_url()
headers = {'X-CoinAPI-Key': config.get_api_key()}
response = requests.get(url, headers=headers).json()
# populate bitcoin_collection
bitcoin = mydatabase[response[0]['asset_id']]
doc = {'date': datetime.now().strftime('%d-%m-%Y, %H:%M:%S'),
'price': response[0]['price_usd']}
entry = bitcoin.insert_one(doc).inserted_id
# queries for log
query = list(bitcoin.find().sort('_id', -1).limit(1))
print(query)
# close session
# bitcoin.drop()
myclient.close()
if __name__ == '__main__':
write()