def _getAllMarkets(): """ Retrieves all available markets. bitcoincharts.com offers a JSON of current status (high, low, etc.) for every available market. From this data we extract only market names. :return: (list) all available markets """ try: logger.info('getAllMarkets: Retrieving available markets.') #get markets: holds available markets markets_ = [] #send request got_html = net.getHtml(URL_EXCHANGES) #parse if got_html: data = json.loads(got_html) #from all the data get only market name for dic in data: currency = dic['symbol'] markets_.append(currency) return markets_ except: raise
def _getTrades(_market): """ Downloads market data for requested market. Downloads market data in CSV format. Example data string to parse: "1340234323,5.407670000000,0.990600000000 1340236726,5.407670000000,3.000000000000" :param _market: (string) market name :return: (list) a list of trades e.g. [[1340234323,5.407670000000,0.990600000000], [...], ...] """ try: logger.info('getTrades: Retrieving trade data for: %s' % _market) #getting market trades: holds all trade events from the market trades_ = [] #get data from the beginning of the market existence got_html = net.getHtml(URL_TRADES + _market + '&start=0') #parse data if got_html: #split by spaces html_sets = got_html.split() logger.debug('getTrades: Parsing: %s' % html_sets) #parse fields to float since we're not interested in high precision for sets in html_sets: data_set = sets.split(",") data_set_float = [] #parse fields to float for field in data_set: number_field = float(field) data_set_float.append(number_field) trades_.append(data_set_float) return trades_ except: raise