Serve the raw manpage source text via exact lookup. *rest* is everything after distro/release, e.g. "1/cd.1posix", mapping to source key "ubuntu/26.04/1/cd.1posix.gz".
(distro, release, rest)
| 149 | |
| 150 | @debug_bp.route("/manpage/<distro>/<release>/<path:rest>") |
| 151 | def manpage(distro, release, rest): |
| 152 | """Serve the raw manpage source text via exact lookup. |
| 153 | |
| 154 | *rest* is everything after distro/release, e.g. "1/cd.1posix", |
| 155 | mapping to source key "ubuntu/26.04/1/cd.1posix.gz". |
| 156 | """ |
| 157 | source = f"{distro}/{release}/{rest}.gz" |
| 158 | raw = get_store().get_raw_manpage(source) |
| 159 | if raw is None: |
| 160 | return render_template( |
| 161 | "errors/missingmanpage.html", |
| 162 | title="missing man page", |
| 163 | e=errors.ProgramDoesNotExist(rest), |
| 164 | ) |
| 165 | |
| 166 | is_markdown = "markdown" in raw.generator |
| 167 | name, sec = util.name_section(os.path.basename(source)[:-3]) |
| 168 | return render_template( |
| 169 | "manpage.html", |
| 170 | program=f"{name}({sec})", |
| 171 | source_text=raw.source_text, |
| 172 | source_html=render_markdown(raw.source_text) if is_markdown else None, |
| 173 | is_markdown=is_markdown, |
| 174 | ) |
| 175 | |
| 176 | |
| 177 | @bp.route("/explain", defaults={"path": ""}) |
nothing calls this directly
no test coverage detected