Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from alpha_vantage.foreignexchange import ForeignExchange
- from pprint import pprint
- import json
- import time
- import argparse
- import pyodbc
- from pyodbc import Error
- def getServerDetails():
- try:
- parser = argparse.ArgumentParser()
- parser.add_argument('-host', help="Host Details",required= True)
- parser.add_argument('-user', help="User Details",required= True)
- parser.add_argument('-pass', help="Password Details",required= True)
- parser.add_argument('-db', help="Database Details",required= True)
- args = vars(parser.parse_args())
- except:
- print("No Arguments Provided")
- return args
- class BTC_USD():
- def __init__(self, host, password, user, database):
- """
- Sets the default connection values
- """
- self.host = host
- self.user = user
- self.database = database
- self.password = password
- def ConnectDB(self):
- try:
- mydb = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+self.host+';DATABASE='+self.database+
- ';UID='+self.user+';PWD='+self.password, timeout= 30)
- # if mydb.connected == True:
- #print("connected")
- # else:
- # print("No connection")
- except Error as e:
- print(e)
- return mydb
- def GetExchangeRate(self):
- cc= ForeignExchange(key='GKSEHPK98EQ8VONW')
- data, _ = cc.get_currency_exchange_rate(from_currency='BTC', to_currency='USD')
- ##JSON to string
- currency_st = json.dumps(data)
- ##string to Object
- currency_dt = json.loads(currency_st)
- price = currency_dt['5. Exchange Rate']
- date = currency_dt['6. Last Refreshed']
- return price, date
- if __name__ == '__main__':
- login = getServerDetails()
- exchange = BTC_USD(host=login['host'],password=login['pass'],user=login['user'],database=login['db'])
- mydb = exchange.ConnectDB()
- while True:
- price, date = exchange.GetExchangeRate()
- mycursor = mydb.cursor()
- sql = ("INSERT INTO dbo.btc_usd (DateTime, Price) VALUES ('%s', %s)" % (date,price))
- print(sql)
- print(time.asctime(time.localtime(time.time())))
- mycursor.execute(sql)
- mydb.commit()
- time.sleep(600)
- mydb.close
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement