not sure that I like the clickable_path parameters, but this is the quickest
way right now to ensure we get the "/" handled properly. [ will need future review ] git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@142 8cb11bc2-c004-0410-86c3-e597b4017df7remotes/tags/V0_6
parent
02bad3fbe3
commit
7d8f036490
|
@ -276,7 +276,7 @@ def toggle_query(query_dict, which, value=None):
|
||||||
return '?' + query
|
return '?' + query
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
def clickable_path(request, path, leaf_is_link, drop_leaf):
|
def clickable_path(request, path, leaf_is_link, leaf_is_file, drop_leaf):
|
||||||
if path == '/':
|
if path == '/':
|
||||||
# this should never happen - chooseCVSRoot() is
|
# this should never happen - chooseCVSRoot() is
|
||||||
# intended to do this
|
# intended to do this
|
||||||
|
@ -288,13 +288,19 @@ def clickable_path(request, path, leaf_is_link, drop_leaf):
|
||||||
if drop_leaf:
|
if drop_leaf:
|
||||||
del parts[-1]
|
del parts[-1]
|
||||||
leaf_is_link = 1
|
leaf_is_link = 1
|
||||||
|
leaf_is_file = 0
|
||||||
where = ''
|
where = ''
|
||||||
for i in range(len(parts)):
|
for i in range(len(parts)):
|
||||||
where = where + '/' + parts[i]
|
where = where + '/' + parts[i]
|
||||||
if i < len(parts) - 1 or leaf_is_link:
|
is_leaf = i == len(parts) - 1
|
||||||
|
if not is_leaf or leaf_is_link:
|
||||||
|
if is_leaf and leaf_is_file:
|
||||||
|
slash = ''
|
||||||
|
else:
|
||||||
|
slash = '/'
|
||||||
### should we be encoding/quoting the URL stuff? (probably...)
|
### should we be encoding/quoting the URL stuff? (probably...)
|
||||||
s = s + ' / <a href="%s%s/%s#dirlist">%s</a>' % \
|
s = s + ' / <a href="%s%s%s%s#dirlist">%s</a>' % \
|
||||||
(request.script_name, where, request.qmark_query, parts[i])
|
(request.script_name, where, slash, request.qmark_query, parts[i])
|
||||||
else:
|
else:
|
||||||
s = s + ' / ' + parts[i]
|
s = s + ' / ' + parts[i]
|
||||||
|
|
||||||
|
@ -449,7 +455,7 @@ def navigate_header(request, swhere, path, filename, rev, title):
|
||||||
'%s%s#rev%s' % (swhere, request.qmark_query, rev)),
|
'%s%s#rev%s' % (swhere, request.qmark_query, rev)),
|
||||||
html_icon('file'))
|
html_icon('file'))
|
||||||
print '<td align=right>%s <b>Up to %s</b></td>' % \
|
print '<td align=right>%s <b>Up to %s</b></td>' % \
|
||||||
(html_icon('dir'), clickable_path(request, path, 1, 0))
|
(html_icon('dir'), clickable_path(request, path, 1, 0, 0))
|
||||||
print '</tr></table>'
|
print '</tr></table>'
|
||||||
|
|
||||||
def markup_stream_default(fp):
|
def markup_stream_default(fp):
|
||||||
|
@ -582,7 +588,7 @@ def markup_stream(request, fp, revision, mime_type):
|
||||||
navigate_header(request, request.url, pathname, filename, revision, 'view')
|
navigate_header(request, request.url, pathname, filename, revision, 'view')
|
||||||
print '<hr noshade>'
|
print '<hr noshade>'
|
||||||
print '<table width="100%"><tr><td bgcolor="%s">' % cfg.colors.markup_log
|
print '<table width="100%"><tr><td bgcolor="%s">' % cfg.colors.markup_log
|
||||||
print 'File:', clickable_path(request, where, 1, 0), '</b>'
|
print 'File:', clickable_path(request, where, 1, 1, 0), '</b>'
|
||||||
download_link(request, file_url, revision, '(download)')
|
download_link(request, file_url, revision, '(download)')
|
||||||
if not request.default_text_plain:
|
if not request.default_text_plain:
|
||||||
download_link(request, file_url, revision, '(as text)', 'text/plain')
|
download_link(request, file_url, revision, '(as text)', 'text/plain')
|
||||||
|
@ -1056,7 +1062,8 @@ def view_directory(request):
|
||||||
#choose_cvsroot()
|
#choose_cvsroot()
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
print '<p>Current directory: <b>', clickable_path(request, where, 0, 0), '</b>'
|
print '<p>Current directory: <b>', \
|
||||||
|
clickable_path(request, where, 0, 0, 0), '</b>'
|
||||||
if view_tag:
|
if view_tag:
|
||||||
print '<p>Current tag: <b>', view_tag, '</b>'
|
print '<p>Current tag: <b>', view_tag, '</b>'
|
||||||
|
|
||||||
|
@ -1658,12 +1665,20 @@ def view_log(request):
|
||||||
html_header('CVS log for %s' % where)
|
html_header('CVS log for %s' % where)
|
||||||
|
|
||||||
up_where = re.sub(_re_up_path, '', where)
|
up_where = re.sub(_re_up_path, '', where)
|
||||||
filename = os.path.basename(full_name[:-2]) # drop the ",v"
|
|
||||||
|
### whoops. this sometimes/always? does not have the ",v"
|
||||||
|
assert full_name[-2:] != ',v', 'please report this error to viewcvs@lyra.org'
|
||||||
|
#filename = os.path.basename(full_name[:-2]) # drop the ",v"
|
||||||
|
filename = os.path.basename(full_name)
|
||||||
|
|
||||||
|
### try: "./" + query + "#" + filename
|
||||||
back_url = request.script_name + '/' + urllib.quote(up_where) + \
|
back_url = request.script_name + '/' + urllib.quote(up_where) + \
|
||||||
request.qmark_query
|
request.qmark_query
|
||||||
|
|
||||||
print html_link(html_icon('back'), back_url + '#' + filename)
|
print html_link(html_icon('back'), back_url + '#' + filename)
|
||||||
print '<b>Up to %s</b><p>' % clickable_path(request, up_where, 1, 0)
|
|
||||||
|
### use drop_leaf
|
||||||
|
print '<b>Up to %s</b><p>' % clickable_path(request, up_where, 1, 0, 0)
|
||||||
print '<a href="#diff">Request diff between arbitrary revisions</a>'
|
print '<a href="#diff">Request diff between arbitrary revisions</a>'
|
||||||
print '<hr noshade>'
|
print '<hr noshade>'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue