1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-17 14:37:58 +00:00

add link to commit details

This commit is contained in:
lins05 2012-09-25 20:07:46 +08:00
parent 882c33a4dd
commit bac82d56c8
4 changed files with 26 additions and 9 deletions

View File

@ -51,7 +51,7 @@ def translate_commit_desc(value):
return u'合并了其他人的修改' return u'合并了其他人的修改'
else: else:
operations = '|'.join(TRANSLATION_MAP.keys()) operations = '|'.join(TRANSLATION_MAP.keys())
patt = r'(%s) "(.*)"\s?(and ([0-9]+) more files)?' % operations patt = r'(%s) "(.*)"\s?(and ([0-9]+) more (files|directories))?' % operations
ret_list = [] ret_list = []
for e in value.split('\n'): for e in value.split('\n'):
@ -66,13 +66,18 @@ def translate_commit_desc(value):
op = m.group(1) op = m.group(1)
op_trans = TRANSLATION_MAP.get(op) op_trans = TRANSLATION_MAP.get(op)
file_name = m.group(2) file_name = m.group(2)
more_files = m.group(3) more = m.group(3)
n_files = m.group(4) n_files = m.group(4)
more_type = m.group(5)
if not more_files: if not more:
ret = op_trans + u' "' + file_name + u'".' ret = op_trans + u' "' + file_name + u'".'
else: else:
ret = op_trans + u' "' + file_name + u'"以及另外' + n_files + u'个文件.' if more_type == 'files':
typ = u'文件'
else:
typ = u'目录'
ret = op_trans + u' "' + file_name + u'"以及另外' + n_files + u'' + typ + '.'
ret_list.append(ret) ret_list.append(ret)
return '\n'.join(ret_list) return '\n'.join(ret_list)

View File

@ -1242,3 +1242,7 @@ ul.with-bg li {
top:-15px; top:-15px;
left:-14px; left:-14px;
} }
#ls-ch a {
color: green;
}

1
po.py
View File

@ -4,6 +4,7 @@
TRANSLATION_MAP = { TRANSLATION_MAP = {
'Added' : u'添加了', 'Added' : u'添加了',
'Deleted' : u'删除了', 'Deleted' : u'删除了',
'Removed' : u'删除了',
'Modified' : u'修改了', 'Modified' : u'修改了',
'Renamed' : u'重命名或移动了', 'Renamed' : u'重命名或移动了',
'Moved' : u'移动了', 'Moved' : u'移动了',

View File

@ -636,6 +636,13 @@ def repo_history_revert(request, repo_id):
return HttpResponseRedirect(reverse(repo_history, args=[repo_id])) return HttpResponseRedirect(reverse(repo_history, args=[repo_id]))
def fpath_to_link(repo_id, path):
"""Translate file path of a repo to its view link"""
fpath = 'repo/%s/files/?p=/%s' % (repo_id, urllib2.quote(path.encode('utf-8')))
href = os.path.join(settings.SITE_ROOT, fpath)
return '<a href="%s">%s</a>' % (href, path)
def get_diff(repo_id, arg1, arg2): def get_diff(repo_id, arg1, arg2):
lists = {'new' : [], 'removed' : [], 'renamed' : [], 'modified' : [], \ lists = {'new' : [], 'removed' : [], 'renamed' : [], 'modified' : [], \
'newdir' : [], 'deldir' : []} 'newdir' : [], 'deldir' : []}
@ -646,15 +653,15 @@ def get_diff(repo_id, arg1, arg2):
for d in diff_result: for d in diff_result:
if d.status == "add": if d.status == "add":
lists['new'].append(d.name) lists['new'].append(fpath_to_link(repo_id, d.name))
elif d.status == "del": elif d.status == "del":
lists['removed'].append(d.name) lists['removed'].append(d.name)
elif d.status == "mov": elif d.status == "mov":
lists['renamed'].append(d.name + " ==> " + d.new_name) lists['renamed'].append(d.name + " ==> " + fpath_to_link(repo_id, d.new_name))
elif d.status == "mod": elif d.status == "mod":
lists['modified'].append(d.name) lists['modified'].append(fpath_to_link(repo_id, d.name))
elif d.status == "newdir": elif d.status == "newdir":
lists['newdir'].append(d.name) lists['newdir'].append(fpath_to_link(repo_id, d.name))
elif d.status == "deldir": elif d.status == "deldir":
lists['deldir'].append(d.name) lists['deldir'].append(d.name)