2012-05-15 02:59:16 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# encoding: utf-8
|
2012-05-20 12:32:21 +00:00
|
|
|
import re
|
|
|
|
import settings
|
|
|
|
import time
|
2012-05-15 02:59:16 +00:00
|
|
|
from django.shortcuts import render_to_response
|
|
|
|
from django.template import RequestContext
|
|
|
|
from django.utils.hashcompat import sha_constructor
|
|
|
|
|
|
|
|
def go_permission_error(request, msg=None):
|
|
|
|
"""
|
2012-06-20 11:39:21 +00:00
|
|
|
Return permisson error page.
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
return render_to_response('permission_error.html', {
|
|
|
|
'error_msg': msg or u'权限错误',
|
|
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
def go_error(request, msg=None):
|
|
|
|
"""
|
2012-06-20 11:39:21 +00:00
|
|
|
Return normal error page.
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
return render_to_response('error.html', {
|
|
|
|
'error_msg': msg or u'内部错误',
|
|
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
def list_to_string(l):
|
|
|
|
"""
|
2012-06-20 11:39:21 +00:00
|
|
|
Return string of a list.
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
"""
|
2012-06-20 11:39:21 +00:00
|
|
|
return ','.join(l)
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
def get_httpserver_root():
|
|
|
|
"""
|
|
|
|
Get seafile http server address and port from settings.py,
|
2012-06-20 11:39:21 +00:00
|
|
|
and cut out last '/'.
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
if settings.HTTP_SERVER_ROOT[-1] == '/':
|
|
|
|
http_server_root = settings.HTTP_SERVER_ROOT[:-1]
|
|
|
|
else:
|
|
|
|
http_server_root = settings.HTTP_SERVER_ROOT
|
|
|
|
return http_server_root
|
|
|
|
|
|
|
|
def get_ccnetapplet_root():
|
|
|
|
"""
|
|
|
|
Get ccnet applet address and port from settings.py,
|
2012-06-20 11:39:21 +00:00
|
|
|
and cut out last '/'.
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
if settings.CCNET_APPLET_ROOT[-1] == '/':
|
|
|
|
ccnet_applet_root = settings.CCNET_APPLET_ROOT[:-1]
|
|
|
|
else:
|
|
|
|
ccnet_applet_root = settings.CCNET_APPLET_ROOT
|
|
|
|
return ccnet_applet_root
|
|
|
|
|
|
|
|
def gen_token():
|
|
|
|
"""
|
2012-06-20 11:39:21 +00:00
|
|
|
Generate short token used for owner to access repo file.
|
2012-05-15 02:59:16 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
|
2012-06-20 11:39:21 +00:00
|
|
|
token = sha_constructor(settings.SECRET_KEY + unicode(time.time())).hexdigest()[:5]
|
2012-05-15 02:59:16 +00:00
|
|
|
return token
|
2012-05-16 06:10:54 +00:00
|
|
|
|
|
|
|
def validate_group_name(group_name):
|
|
|
|
"""
|
|
|
|
Check whether group name is valid.
|
2012-06-20 11:39:21 +00:00
|
|
|
A valid group name only contains alphanumeric character.
|
2012-05-16 06:10:54 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
return re.match('^\w+$', group_name, re.U)
|