app/django/contrib/gis/shortcuts.py
author Lennard de Rijk <ljvderijk@gmail.com>
Mon, 24 Nov 2008 22:34:56 +0000
changeset 584 ba8a624506e5
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Adds and uses a modified_by property in models/work.py This property is used to display the user who last edited the work in the document viewer. Fixes author being set on every edit. Also edited the style-sheet to fix issue i128. Patch by: Lennard de Rijk

import cStringIO, zipfile
from django.http import HttpResponse
from django.template import loader

def compress_kml(kml):
    "Returns compressed KMZ from the given KML string."
    kmz = cStringIO.StringIO()
    zf = zipfile.ZipFile(kmz, 'a', zipfile.ZIP_DEFLATED, False)
    zf.writestr('doc.kml', kml)
    zf.close()
    kmz.seek(0)
    return kmz.read()

def render_to_kml(*args, **kwargs):
    "Renders the response as KML (using the correct MIME type)."
    return HttpResponse(loader.render_to_string(*args, **kwargs),
                        mimetype='application/vnd.google-earth.kml+xml kml')

def render_to_kmz(*args, **kwargs):
    """
    Compresses the KML content and returns as KMZ (using the correct 
    MIME type).
    """
    return HttpResponse(compress_kml(loader.render_to_string(*args, **kwargs)),
                        mimetype='application/vnd.google-earth.kmz')


def render_to_text(*args, **kwargs):
    "Renders the response using the MIME type for plain text."
    return HttpResponse(loader.render_to_string(*args, **kwargs),
                        mimetype='text/plain')