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