Вы должны явно return
data
из fetch_quote
функции.Примерно так:
def fetch_quote(symbols):
url = URL % '+'.join(symbols)
fp = urllib.urlopen(url)
try:
data = fp.read()
finally:
fp.close()
return data # <======== Return
При отсутствии явного оператора возврата Python возвращает None
, что вы и видите.