view sat_website/views.py @ 4:d42dd630476f

unicode fix
author Goffi <goffi@goffi.org>
date Tue, 31 Jul 2012 13:51:38 +0200
parents 0df46e87537d
children eda4deefecd1
line wrap: on
line source

#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
SàT website: Salut à Toi's presentation website
Copyright (C) 2012  Jérôme Poisson (goffi@goffi.org)

This file is part of SàT website.

SàT website is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Foobar is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
"""
from django.http import Http404
from django.shortcuts import render_to_response
from django.core.context_processors import csrf
from django.utils.translation import ugettext_lazy as _
from collections import OrderedDict
import screenshots, social_contract, utils

CATEGORIES = OrderedDict([("features", _(u"Features")),
              ("frontends", _(u"Frontends")),
              ("screenshots", _(u"Screenshots & Videos")),
              ("community", _(u"Community")),
              ("developers", _(u"Developers corner")),
              ("social_contract", _(u"Social contract"))])

def overview(request):
    return render_to_response('sat_website/overview.html')

def generic_cat(request, category):
    latest_dl_path, latest_version = utils.get_latest_sat()
    context = {
               "available_languages": ['fr', 'en'],
               "categories": CATEGORIES,
               "category": category,
               "latest_dl_path": latest_dl_path,
               "latest_version": latest_version,
              }
    context.update(csrf(request))

    if not category or category == "overview":
        return render_to_response('sat_website/overview.html', context)
    elif category == "screenshots":
        context["screenshots"] = screenshots.screenshots
        context["screencasts"] = screenshots.screencasts
        return render_to_response('sat_website/screenshots.html', context)
    elif category == "social_contract":
        context["SOCIAL_CONTRACT"] = social_contract.get_social_contract()
        return render_to_response('sat_website/social_contract.html', context)
    elif category in CATEGORIES.keys():
        return render_to_response('sat_website/%s.html' % (category,), context)
    else:
        raise Http404