From 6793326ec9aa5db5ae57a88c1ba86539c34f6aa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dzikie=20dro=C5=BCd=C5=BCe?= Date: Thu, 9 Jan 2014 06:41:28 +0100 Subject: [PATCH] Herpy dooves. --- src/papiezator/extenpopes/noir.py | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/papiezator/extenpopes/noir.py diff --git a/src/papiezator/extenpopes/noir.py b/src/papiezator/extenpopes/noir.py new file mode 100644 index 0000000..1a85fae --- /dev/null +++ b/src/papiezator/extenpopes/noir.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +from papiezator.pope_utils import get_pope, redis_me +from django.http import HttpResponse +from io import BytesIO +from PIL import Image + + +# FIXME: kind of fugly. +@redis_me("noir_pope") +def get_noir_pope(width, height, pope_id): + pope_buffer = BytesIO() + pope = get_pope(width, height, pope_id) + if not pope: + return None + + pope = Image.open(BytesIO(pope)).convert("L") + + pope.save(pope_buffer, "jpeg") + pope = pope_buffer + pope.seek(0) + return pope.read() + + +def view(request, width, height, pope_id=0): + width, height = int(width), int(height) + pope = get_noir_pope(width, height, pope_id) + if pope: + return HttpResponse( + pope, + content_type="image/jpeg" + ) + return HttpResponse(':c')