<%namespace name="sourceblock" file="/codeblocks/source.mako"/>
## loads the history for a file ${h.hidden('file_refs_filter')}
## Download % if c.lf_node: ${_('Download largefile')} % else: ${_('Download file')} % endif %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): ## on branch head, can edit files %if c.on_branch_head and c.branch_or_raw_id: ## binary files are delete only % if c.file.is_binary: ${h.link_to(_('Edit'), '#Edit', class_="btn btn-default disabled tooltip", title=_('Editing binary files not allowed'))} ${h.link_to(_('Delete'), h.route_path('repo_files_remove_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path),class_="btn btn-danger")} % else: ${_('Edit on branch: ')}${c.branch_name} ${_('Delete')} % endif ## not on head, forbid all % else: ${h.link_to(_('Edit'), '#Edit', class_="btn btn-default disabled tooltip", title=_('Editing files allowed only when on branch head commit'))} ${h.link_to(_('Delete'), '#Delete', class_="btn btn-default btn-danger disabled tooltip", title=_('Deleting files allowed only when on branch head commit'))} % endif %endif
${c.file}
% if c.file_size_too_big: 0 ${(_('lines'))} % else: ${c.file.lines()[0]} ${_ungettext('line', 'lines', c.file.lines()[0])} % endif | ${h.format_byte_size_binary(c.file.size)} % if c.lf_node: | ${_('LargeFile')} ${h.format_byte_size_binary(c.lf_node.size)} % endif | ${c.file.mimetype} % if not c.file_size_too_big: | ${h.get_lexer_for_filenode(c.file).__class__.__name__} % endif
${h.files_breadcrumbs(c.repo_name,c.commit.raw_id,c.file.path, request.GET.get('at'))}
${_('History')} | %if c.annotate: ${h.link_to(_('Source'), h.route_path('repo_files', repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} %else: ${h.link_to(_('Annotation'), h.route_path('repo_files:annotated',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} %endif | ${h.link_to(_('Raw'), h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} % if not c.file.is_binary: |${_('Copy content')} |${_('Copy permalink')} % endif
%if c.file.is_binary: <% rendered_binary = h.render_binary(c.repo_name, c.file)%> % if rendered_binary: ${rendered_binary} % else:
${_('Binary file ({})').format(c.file.mimetype)}
% endif %else: % if c.file_size_too_big: ${_('File size {} is bigger then allowed limit {}. ').format(h.format_byte_size_binary(c.file.size), h.format_byte_size_binary(c.visual.cut_off_limit_file))} ${h.link_to(_('Show as raw'), h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} % else: %if c.renderer and not c.annotate: ## pick relative url based on renderer <% relative_urls = { 'raw': h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path), 'standard': h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path), } %> ${h.render(c.file.content, renderer=c.renderer, relative_urls=relative_urls)} %else: %if c.annotate: <% color_hasher = h.color_hasher() %> %for annotation, lines in c.annotated_lines: ${sourceblock.render_annotation_lines(annotation, lines, color_hasher)} %endfor %else: %for line_num, tokens in enumerate(c.lines, 1): ${sourceblock.render_line(line_num, tokens)} %endfor %endif
%endif % endif %endif