Upload images API

Conflicts:
	requirements.txt
	setup.py
This commit is contained in:
Julien Duponchelle
2015-04-24 10:15:23 +02:00
parent 61fb641215
commit bb4ebbfe64
9 changed files with 121 additions and 4 deletions

View File

@ -444,3 +444,20 @@ class BaseManager:
"""
raise NotImplementedError
@asyncio.coroutine
def write_image(self, filename, stream):
directory = self.get_images_directory()
path = os.path.join(directory, os.path.basename(filename))
log.info("Writting image file %s", path)
try:
os.makedirs(directory, exist_ok=True)
with open(path, 'wb+') as f:
while True:
packet = yield from stream.read(512)
if not packet:
break
f.write(packet)
os.chmod(path, stat.S_IWRITE | stat.S_IREAD | stat.S_IEXEC)
except OSError as e:
raise aiohttp.web.HTTPConflict(text="Could not write image: {} to {}".format(filename, e))