Используйте некоторую отладочную печать, чтобы узнать, возвращает ли urlfetch.Fetch(h['url']).content
хоть что-нибудь. Исходя из ошибки, результат равен None
, а db.Blob()
ожидает, что результатом будет строка.
Если это так, составьте план, проверив значение content
, прежде чем пытаться применить его. А может быть, небольшое отслеживание ошибок для хорошей меры?
Вот простой пример:
errors = []
for h in hits:
urls.append(h['url'])
content = urlfetch.Fetch(h['url']).content
if content is not None:
result = db.Blob(urlfetch.Fetch(h['url']).content)
else:
print 'No content for', h['url']
errors.append(h)
continue
model.image = result