1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from __future__ import annotations
from abc import abstractmethod
from types import TracebackType
from typing import Self
from pygitweb.api.plugin import Plugin
class Subpage(Plugin):
"""
Subpage: A per-project subpage provided by a plugin.
"""
@abstractmethod
def __enter__(self) -> Self: ...
@abstractmethod
def __exit__(
self,
exc_type: type[BaseException] | None,
exc_value: BaseException | None,
traceback: TracebackType | None,
) -> bool | None: ...
@abstractmethod
def subpage_name(self) -> str: ...
@abstractmethod
def link_name(self, project: str) -> str | None: ...
@abstractmethod
def subpage_html(self, project: str) -> str | None: ...
@abstractmethod
def summary_value_suffix_html(self, project: str, project_enc: str) -> str | None:
"""Optional HTML appended after the subpage \"view\" link on the project summary table."""