Advertisement
albin900

CoinScript

Jun 20th, 2017
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.47 KB | None | 0 0
  1. import struct, requests
  2.  
  3. class CoinData:
  4.     currencies = ["1ST", "2GIVE", "8BIT", "ABY", "AEON", "AGRS", "AMP", "ANS", "ANT", "APX", "ARDR", "ARK", "AUR", "BAT", "BAY", "BCY", "BITB", "BLITZ", "BLK", "BLOCK", "BRK", "BRX", "BSD", "BTA", "BTCD", "BTS", "BURST", "BYC", "CANN", "CLAM", "CLOAK", "CLUB", "COVAL", "CPC", "CRB", "CRW", "CURE", "DAR", "DASH", "DCR", "DGB", "DGD", "DMD", "DOGE", "DOPE", "DRACO", "DTB", "DYN", "EBST", "EDG", "EFL", "EGC", "EMC", "EMC2", "ENRG", "ERC", "ETC", "ETH", "EXCL", "EXP", "FAIR", "FCT", "FLDC", "FLO", "FTC", "GAM", "GAME", "GBG", "GBYTE", "GCR", "GEO", "GLD", "GNO", "GNT", "GOLOS", "GRC", "GRS", "GUP", "HKG", "HMQ", "INCNT", "INFX", "IOC", "ION", "IOP", "JWL", "KMD", "KORE", "LBC", "LGD", "LMC", "LSK", "LTC", "LUN", "MAID", "MEME", "MGO", "MLN", "MONA", "MUE", "MUSIC", "MYR", "NAUT", "NAV", "NBT", "NEOS", "NLG", "NXC", "NXS", "NXT", "OK", "OMNI", "PDC", "PINK", "PIVX", "PKB", "POT", "PPC", "PTC", "PTOY", "QRL", "QTL", "QWARK", "RADS", "RBY", "RDD", "REP", "RISE", "RLC", "SBD", "SC", "SEC", "SEQ", "SHIFT", "SIB", "SJCX", "SLR", "SLS", "SNGLS", "SNRG", "SPHR", "SPR", "START", "STEEM", "STRAT", "SWIFT", "SWT", "SYNX", "SYS", "THC", "TIME", "TKN", "TKS", "TRIG", "TRST", "TRUST", "TX", "UBQ", "UNB", "UNO", "VIA", "VOX", "VRC", "VRM", "VTC", "VTR", "WAVES", "WINGS", "XAUR", "XBB", "XCP", "XDN", "XEM", "XLM", "XMG", "XMR", "XRP", "XST", "XVC", "XVG", "XWC", "XZC", "ZCL", "ZEC", "ZEN", "MYST", "CFI"]
  5.    
  6.     def read_file( self, file):
  7.         f = open(file)
  8.         data = f.read()
  9.         f.close()
  10.         return self.read_data(data)
  11.  
  12.     def read_data( self, data ):
  13.         n = 9
  14.         arr = [data[i:i+n] for i in range(0, len(data), n)]
  15.         items = []
  16.        
  17.         for item in arr:
  18.             r = struct.unpack( "ffB", item )
  19.             items.append({"currency": self.currencies[ r[2]], "volume": r[0], "last": r[1]})
  20.         return items
  21.        
  22.        
  23.     def save_file(self, file, data):
  24.         f = open(file, "w+")
  25.         f.write(data)
  26.         f.close()
  27.        
  28.     def encode( self, json):
  29.         string = ""
  30.         for item in json["result"]:
  31.             sp = item["MarketName"].split("-")
  32.             first = unicode( sp[0] )
  33.             if first == "BTC":
  34.                 second = unicode( sp[1] )
  35.                 string += struct.pack( "ffB", item["Volume"], item["Last"], self.currencies.index(second))
  36.  
  37.         return string
  38.     def save_current_to_file(self, file):
  39.         r = requests.get("https://bittrex.com/api/v1.1/public/getmarketsummaries")
  40.         data = self.encode( r.json() )
  41.         self.save_file( file, data)
  42.        
  43. coin = CoinData()
  44. coin.save_current_to_file("36.data")
  45.  
  46.  
  47. print coin.read_file("36.data")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement