diff -r e86755df35da -r 87e77aa18610 project/scipycon/utils.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project/scipycon/utils.py Tue Jul 13 17:59:47 2010 +0530 @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +#python +import urllib +import datetime +import re +from random import randint + +#django +from django.http import HttpResponseRedirect + +def kiwipycon_quote(string, encoding="utf-8"): + """Encodes string to encoding before quoting. + """ + return urllib.quote(string.encode(encoding)) + +# from LFS +def set_message_cookie(url, msg): + """Creates response object with given url and adds message cookie with passed + message. + """ + + # We just keep the message two seconds. + max_age = 2 + expires = datetime.datetime.strftime( + datetime.datetime.utcnow() + + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT") + + response = HttpResponseRedirect(url) + response.set_cookie("message", kiwipycon_quote(msg), max_age=max_age, expires=expires) + + return response + +# from django-snippets +def slugify(inStr): + removelist = ["a", "an", "as", "at", "before", "but", "by", "for","from","is", "in", "into", "like", "of", "off", "on", "onto","per","since", "than", "the", "this", "that", "to", "up", "via","with"]; + for a in removelist: + aslug = re.sub(r'\b'+a+r'\b','',inStr) + aslug = re.sub('[^\w\s-]', '', aslug).strip().lower() + aslug = re.sub('\s+', '-', aslug) + return len(aslug) > 50 and '%s-%d' % (aslug[:43], randint(100000,999999)) or aslug