project/kiwipycon/user/views.py
author Madhusudan.C.S <madhusudancs@gmail.com>
Fri, 30 Oct 2009 15:09:12 +0530
changeset 1 fda1c66b25f9
child 93 e86755df35da
permissions -rw-r--r--
Added all the files from kiwipycon and the changes made for SciPy.in.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     2
from __future__ import absolute_import
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     3
#python
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     4
from urlparse import urlparse
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     5
import urllib
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     6
import os
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     7
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     8
#django
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     9
from django.conf import settings
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    10
from django.shortcuts import render_to_response
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    11
from django.template import RequestContext
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    12
from django.core.urlresolvers import reverse
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    13
from django.db.models.signals import post_save
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    14
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    15
#django.contrib
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    16
from django.contrib.auth.decorators import login_required
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    17
from django.contrib.auth.forms import AuthenticationForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    18
from django.contrib.auth.forms import PasswordChangeForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    19
from django.core.exceptions import ObjectDoesNotExist
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    20
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    21
#PIL
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    22
from PIL import Image
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    23
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    24
#kiwipycon
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    25
from project.kiwipycon.utils import set_message_cookie
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    26
from project.kiwipycon.talk.models import Talk
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    27
from project.kiwipycon.registration.models import Registration
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    28
from project.kiwipycon.registration.models import Wifi
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    29
from project.kiwipycon.registration.forms import WifiForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    30
from project.kiwipycon.sponsor.models import Sponsor
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    31
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    32
from .utils import kiwipycon_createuser
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    33
from .utils import handle_uploaded_photo
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    34
from .forms import RegisterForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    35
from .forms import EditProfileForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    36
from .forms import UsernameForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    37
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    38
@login_required
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    39
def account(request, template_name="user/account.html"):
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    40
    """Displays the main screen of the current user's account.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    41
    """
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    42
    user = request.user
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    43
    profile = user.get_profile()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    44
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    45
    talks = Talk.objects.filter(speaker=user)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    46
    try:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    47
        registration = Registration.objects.get(registrant=user)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    48
    except ObjectDoesNotExist:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    49
        registration = None
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    50
    try:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    51
        wifiobj = Wifi.objects.get(user=user)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    52
    except ObjectDoesNotExist:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    53
        wifiobj = None
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    54
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    55
    if profile.photo:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    56
        photo = os.path.join(settings.USER_MEDIA_URL, profile.photo)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    57
    else:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    58
        photo = '/img/user-default.png'
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    59
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    60
    qstring = ""
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    61
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    62
    wifi_comment = None
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    63
    if wifiobj:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    64
        wifi_form = False
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    65
    else:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    66
        if request.method == "POST":
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    67
            wifi_form = WifiForm(request.POST)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    68
            if wifi_form.is_valid():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    69
                wifi_form.save(user)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    70
            wifi_comment = 'Thanks, your wifi preference has been saved'
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    71
            wifi_form = None
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    72
        else:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    73
            wifi_form = WifiForm()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    74
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    75
    return render_to_response(template_name, RequestContext(request, {
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    76
        "form" : wifi_form, "comment": wifi_comment,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    77
        "user" : user, "profile" : profile, "photo" : photo,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    78
        "talks" : talks, "registration" : registration,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    79
    }))
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    80
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    81
@login_required
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    82
def edit_profile(request, template_name="user/editprofile.html"):
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    83
    """Allows user to edit profile
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    84
    """
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    85
    user = request.user
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    86
    profile = user.get_profile()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    87
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    88
    if request.method == "POST":
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    89
        form = EditProfileForm(data=request.POST,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    90
                               files=request.FILES)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    91
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    92
        if form.is_valid():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    93
            photo = request.FILES.get('photo', None)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    94
            filename= None
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    95
            if photo:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    96
                filename = handle_uploaded_photo(user, request.FILES['photo'])
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    97
            if filename:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    98
                profile.photo = filename
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    99
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   100
            user.email = form.data.get("email")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   101
            user.first_name = form.data.get("first_name")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   102
            user.last_name = form.data.get("last_name")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   103
            user.save()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   104
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   105
            profile.url = form.data.get("url")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   106
            profile.about = form.data.get("about")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   107
            profile.save()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   108
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   109
            redirect_to = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   110
            return set_message_cookie(redirect_to,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   111
                    msg = u"Your profile has been changed.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   112
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   113
    else:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   114
        form = EditProfileForm(initial={"email" : user.email,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   115
                                        "email2" : user.email, # hidden field
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   116
                                        "first_name" : user.first_name,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   117
                                        "last_name" : user.last_name,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   118
                                        "url" : profile.url,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   119
                                        "about" : profile.about,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   120
                                        })
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   121
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   122
    return render_to_response(template_name, RequestContext(request, {
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   123
        "form": form
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   124
    }))
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   125
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   126
def login(request, template_name="user/login.html"):
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   127
    """Custom view to login or register/login a user.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   128
    Integration of register and login form
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   129
    It uses Django's standard AuthenticationForm, though.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   130
    """
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   131
    user = request.user
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   132
    if user.is_authenticated():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   133
        redirect_to = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   134
        return set_message_cookie(redirect_to,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   135
                msg = u"Redirected to account from login form.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   136
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   137
    # Using Djangos default AuthenticationForm
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   138
    login_form = AuthenticationForm()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   139
    register_form = RegisterForm()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   140
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   141
    if request.POST.get("action") == "login":
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   142
        login_form = AuthenticationForm(data=request.POST)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   143
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   144
        if login_form.is_valid():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   145
            redirect_to = request.POST.get("next")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   146
            # Light security check -- make sure redirect_to isn't garbage.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   147
            if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   148
                redirect_to = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   149
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   150
            from django.contrib.auth import login
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   151
            login(request, login_form.get_user())
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   152
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   153
            return set_message_cookie(redirect_to, msg = u"You have been logged in.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   154
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   155
    elif request.POST.get("action") == "register":
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   156
        register_form = RegisterForm(data=request.POST)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   157
        if register_form.is_valid():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   158
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   159
            user = kiwipycon_createuser(request, register_form.data)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   160
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   161
            redirect_to = request.POST.get("next")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   162
            if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   163
                redirect_to = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   164
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   165
            return set_message_cookie(
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   166
                redirect_to, msg = u"You have been registered and logged in.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   167
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   168
    # Get next_url
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   169
    next_url = request.REQUEST.get("next")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   170
    if next_url is None:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   171
        next_url = request.META.get("HTTP_REFERER")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   172
    if next_url is None:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   173
        next_url = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   174
    # Get just the path of the url. See django.contrib.auth.views.login for more
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   175
    next_url = urlparse(next_url)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   176
    next_url = next_url[2]
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   177
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   178
    try:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   179
        login_form_errors = login_form.errors["__all__"]
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   180
    except KeyError:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   181
        login_form_errors = None
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   182
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   183
    return render_to_response(template_name, RequestContext(request, {
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   184
        "login_form" : login_form,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   185
        "login_form_errors" : login_form_errors,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   186
        "register_form" : register_form,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   187
        "next_url" : next_url,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   188
    }))
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   189
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   190
def logout(request):
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   191
    """Custom method to logout a user.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   192
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   193
    The reason to use a custom logout method is just to provide a login and a
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   194
    logoutmethod on one place.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   195
    """
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   196
    from django.contrib.auth import logout
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   197
    logout(request)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   198
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   199
    redirect_to = '/'
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   200
    return set_message_cookie(redirect_to, msg = u"You have been logged out.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   201
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   202
@login_required
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   203
def password(request, template_name="user/password.html"):
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   204
    """Changes the password of current user.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   205
    """
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   206
    if request.method == "POST":
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   207
        form = PasswordChangeForm(request.user, request.POST)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   208
        if form.is_valid():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   209
            form.save()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   210
            redirect_to = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   211
            return set_message_cookie(redirect_to,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   212
                    msg = u"Your password has been changed.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   213
    else:
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   214
        form = PasswordChangeForm(request.user)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   215
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   216
    return render_to_response(template_name, RequestContext(request, {
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   217
        "form" : form
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   218
    }))
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   219
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   220
@login_required
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   221
def username(request, template_name="user/username.html"):
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   222
    """Saves the username from the data form.
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   223
    """
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   224
    if request.method == "POST":
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   225
        username_form = UsernameForm(initial={"username" : request.user.username}, data=request.POST)
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   226
        if username_form.is_valid():
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   227
            request.user.username = username_form.cleaned_data.get("username")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   228
            request.user.save()
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   229
            redirect_to = reverse("kiwipycon_account")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   230
            return set_message_cookie(redirect_to,
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   231
                    msg = u"Your username has been changed.")
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   232
    else:        
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   233
        username_form = UsernameForm(initial={"username" : request.user.username})
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   234
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   235
    return render_to_response(template_name, RequestContext(request, {
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   236
        "form": username_form
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   237
    }))
fda1c66b25f9 Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   238