Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. from alpha_vantage.foreignexchange import ForeignExchange
  2. from pprint import pprint
  3. import json
  4. import time
  5. import argparse
  6. import pyodbc
  7. from pyodbc import Error
  8.  
  9. def getServerDetails():
  10. try:
  11. parser = argparse.ArgumentParser()
  12. parser.add_argument('-host', help="Host Details",required= True)
  13. parser.add_argument('-user', help="User Details",required= True)
  14. parser.add_argument('-pass', help="Password Details",required= True)
  15. parser.add_argument('-db', help="Database Details",required= True)
  16. args = vars(parser.parse_args())
  17. except:
  18. print("No Arguments Provided")
  19.  
  20. return args
  21.  
  22. class BTC_USD():
  23.  
  24. def __init__(self, host, password, user, database):
  25. """
  26. Sets the default connection values
  27. """
  28. self.host = host
  29. self.user = user
  30. self.database = database
  31. self.password = password
  32.  
  33. def ConnectDB(self):
  34.  
  35. try:
  36. mydb = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+self.host+';DATABASE='+self.database+
  37. ';UID='+self.user+';PWD='+self.password, timeout= 30)
  38.  
  39. # if mydb.connected == True:
  40. #print("connected")
  41. # else:
  42. # print("No connection")
  43.  
  44. except Error as e:
  45. print(e)
  46.  
  47. return mydb
  48.  
  49. def GetExchangeRate(self):
  50. cc= ForeignExchange(key='GKSEHPK98EQ8VONW')
  51. data, _ = cc.get_currency_exchange_rate(from_currency='BTC', to_currency='USD')
  52. ##JSON to string
  53. currency_st = json.dumps(data)
  54. ##string to Object
  55. currency_dt = json.loads(currency_st)
  56.  
  57. price = currency_dt['5. Exchange Rate']
  58. date = currency_dt['6. Last Refreshed']
  59.  
  60. return price, date
  61.  
  62.  
  63.  
  64. if __name__ == '__main__':
  65.  
  66. login = getServerDetails()
  67. exchange = BTC_USD(host=login['host'],password=login['pass'],user=login['user'],database=login['db'])
  68. mydb = exchange.ConnectDB()
  69.  
  70. while True:
  71.  
  72. price, date = exchange.GetExchangeRate()
  73.  
  74. mycursor = mydb.cursor()
  75.  
  76. sql = ("INSERT INTO dbo.btc_usd (DateTime, Price) VALUES ('%s', %s)" % (date,price))
  77. print(sql)
  78. print(time.asctime(time.localtime(time.time())))
  79. mycursor.execute(sql)
  80.  
  81. mydb.commit()
  82. time.sleep(600)
  83.  
  84. mydb.close
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement