You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
# -*- coding: utf-8 -*-
|
|
import re
|
|
import datetime
|
|
from django.shortcuts import get_object_or_404
|
|
from accounts.models import User
|
|
|
|
def get_referer(request, default=None):
|
|
referer = request.META.get('HTTP_REFERER')
|
|
if not referer:
|
|
return default
|
|
# remove the protocol and split the url at the slashes
|
|
referer = re.sub('^https?:\/\/', '', referer).split('/')
|
|
# add the slash at the relative path's view and finished
|
|
referer = u'/' + u'/'.join(referer[1:])
|
|
return referer
|
|
|
|
def split_params(st):
|
|
st = st.split('/')
|
|
params = []
|
|
|
|
for item in st:
|
|
n = item.find('-')
|
|
if n != -1:
|
|
params.append({'type': item[:n], 'url':item[n+1:]})
|
|
|
|
return params
|
|
|
|
def dates_range(date1, date2):
|
|
delta = date2 - date1
|
|
dates = []
|
|
for i in range(delta.days + 1):
|
|
dates.append(date1 + datetime.timedelta(days=i))
|
|
return dates
|
|
|
|
def get_user(url):
|
|
try:
|
|
url = int(url)
|
|
user = get_object_or_404(User, id=url)
|
|
except ValueError:
|
|
user = get_object_or_404(User, url=url)
|
|
return user |