diff -r e86755df35da -r 87e77aa18610 project/kiwipycon/user/utils.py --- a/project/kiwipycon/user/utils.py Thu Apr 01 11:59:35 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -#python imports -import os - -#django -from django.conf import settings -from django.core.exceptions import ObjectDoesNotExist - -#django.contrib -from django.contrib.auth.models import User - -#PIL -from PIL import Image - - -def kiwipycon_createregistrant(request, data): - """Create user""" - email = data.get("email") - name = data.get("name") - username = data.get("username") - - n = name.split(" ") - if len(n) > 1: - first_name = ' '.join(n[:-1]) - last_name = n[-1] - else: - first_name = '' - last_name = n[0] - - - # Create user - user = User.objects.create_user(username=username, email=email) - user.first_name = first_name - user.last_name = last_name - user.save() - - return user - -def kiwipycon_createuser(request, data): - """Create user""" - email = data.get("email") - username = data.get("username") - password = data.get("password_1") - password = data.get("password_1") - - # Create user - user = User.objects.create_user( - username=username, email=email, password=password) - user.first_name = data.get("first_name") - user.last_name = data.get("last_name") - user.save() - - # Log in user - from django.contrib.auth import authenticate - user = authenticate(username=username, password=password) - - from django.contrib.auth import login - login(request, user) - - profile = user.get_profile() - photo = request.FILES.get('photo', None) - filename= None - if photo: - filename = handle_uploaded_photo(user, request.FILES['photo']) - if filename: - profile.photo = filename - #print photo, filename - - profile.url = data.get("url") - profile.about = data.get("about") - profile.save() - - return user - -def handle_uploaded_photo(user, ufile): - usermedia = settings.USER_MEDIA_ROOT - filename = ufile.name - ext = filename.split('.')[-1] - filesize = ufile.size - filecontent = ufile.read() - userfilename = 'user-%d.%s' % (user.id, ext) - if not filecontent: - return None - - #save - foutname = os.path.join(usermedia, userfilename) - - fout = file(foutname, 'wb') - fout.write(filecontent) - fout.close() - - # crop and resize - image = Image.open(foutname) - pw = image.size[0] - ph = image.size[1] - nw = nh = 80 - if (pw, ph) != (nw, nh): - pr = float(pw) / float(ph) - nr = float(nw) / float(nh) - - if pr > nr: - # photo aspect is wider than destination ratio - tw = int(round(nh * pr)) - image = image.resize((tw, nh), Image.ANTIALIAS) - l = int(round(( tw - nw ) / 2.0)) - image = image.crop((l, 0, l + nw, nh)) - elif pr < nr: - # photo aspect is taller than destination ratio - th = int(round(nw / pr)) - image = image.resize((nw, th), Image.ANTIALIAS) - t = int(round(( th - nh ) / 2.0)) - #print((0, t, nw, t + nh)) - image = image.crop((0, t, nw, t + nh)) - else: - # photo aspect matches the destination ratio - image = image.resize((nw, nh), Image.ANTIALIAS) - - image.save(str(foutname)) - return userfilename -