Захотел наконец то сделать что-нибудь полезное на Google App Engine.
Самое полезное - это заставить его читать stream с моей IP камеры и писать видео в
Google Cloud Storage. Казалось бы ничего солжного:
response = urllib2.urlopen("http://myhost/videostream.asf?user=guest&pwd=guest&resolution=64") block_size = 1024 while True: try: buffer = response.read(block_size) ...
Оказывается в App Engine своя реализация механизма URL Fetch, и поверх неё работают urllib, urllib2, httplib и все остальные сетевые товарищи. И как не старайся, а вычитать и сохранить stream не получится. Т.к URL Fetch не отдаст управление, пока не вычитает весь контент, а как известно у потока нет конца.
Опечален. Хотелось бесплатно.