Return a list of uppercase strings like "GOOG", "$SPX, "XOM"...

    Arguments:
      symbols (str or list of str): list of market ticker symbols to normalize
        If `symbols` is a str a get_symbols_from_list() call is used to retrieve the list of symbols

    Returns:
      list of str: list of cananical ticker symbol strings (typically after .upper().strip())

    See Also:
      pug.dj.db.normalize_names

    Examples:
      >>> make_symbols("Goog")
      ['GOOG']
      >>> make_symbols("  $SPX   ", " aaPL ")
      ['$SPX', 'AAPL']
      >>> make_symbols(["$SPX", ["GOOG", "AAPL"]])
      ['GOOG', 'AAPL', '$SPX']
      >>> make_symbols(" $Spy, Goog, aAPL ")
      ['$SPY', 'GOOG', 'AAPL']

def make_symbols(symbols, *args):
    """Return a list of uppercase strings like "GOOG", "$SPX, "XOM"...

    Arguments:
      symbols (str or list of str): list of market ticker symbols to normalize
        If `symbols` is a str a get_symbols_from_list() call is used to retrieve the list of symbols

    Returns:
      list of str: list of cananical ticker symbol strings (typically after .upper().strip())

    See Also:
      pug.dj.db.normalize_names

    Examples:
      >>> make_symbols("Goog")
      ['GOOG']
      >>> make_symbols("  $SPX   ", " aaPL ")
      ['$SPX', 'AAPL']
      >>> make_symbols(["$SPX", ["GOOG", "AAPL"]])
      ['GOOG', 'AAPL', '$SPX']
      >>> make_symbols(" $Spy, Goog, aAPL ")
      ['$SPY', 'GOOG', 'AAPL']
    """
    if (hasattr(symbols, '__iter__') and not any(symbols)) \
            or (isinstance(symbols, (list, tuple, Mapping)) and not symbols):
        return []
    if isinstance(symbols, basestring):
        # # FIXME: find a direct API for listing all possible symbols
        # try:
        #     return list(set(dataobj.get_symbols_from_list(symbols)))
        # except:
        return [s.upper().strip() for s in (symbols.split(',') + list(str(a) for a in args))]
    else:
        ans = []
        for sym in (list(symbols) + list(args)):
            tmp = make_symbols(sym)
            ans = ans + tmp
        return list(set(ans))