Skip to content

Commit 830b57f

Browse files
cuspymdAkuli
andauthored
Add stubs for whatthepatch (#7492)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
1 parent ec8f517 commit 830b57f

File tree

6 files changed

+109
-0
lines changed

6 files changed

+109
-0
lines changed

stubs/whatthepatch/METADATA.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version = "1.0.*"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from .apply import apply_diff as apply_diff
2+
from .patch import parse_patch as parse_patch
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from collections.abc import Iterable
2+
3+
from . import patch as patch
4+
from .exceptions import HunkApplyException as HunkApplyException, SubprocessException as SubprocessException
5+
from .snippets import remove as remove, which as which
6+
7+
def apply_patch(diffs: patch.diffobj | Iterable[patch.diffobj]) -> None: ...
8+
def apply_diff(diff: patch.diffobj, text: str | Iterable[str], reverse: bool = ..., use_patch: bool = ...) -> list[str]: ...
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class WhatThePatchException(Exception): ...
2+
3+
class HunkException(WhatThePatchException):
4+
hunk: int | None
5+
def __init__(self, msg: str, hunk: int | None = ...) -> None: ...
6+
7+
class ApplyException(WhatThePatchException): ...
8+
9+
class SubprocessException(ApplyException):
10+
code: int
11+
def __init__(self, msg: str, code: int) -> None: ...
12+
13+
class HunkApplyException(HunkException, ApplyException, ValueError): ...
14+
class ParseException(HunkException, ValueError): ...
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
from collections.abc import Iterable, Iterator
2+
from typing import NamedTuple, Pattern
3+
4+
from . import exceptions as exceptions
5+
from .snippets import findall_regex as findall_regex, split_by_regex as split_by_regex
6+
7+
class header(NamedTuple):
8+
index_path: str | None
9+
old_path: str
10+
old_version: str | None
11+
new_path: str
12+
new_version: str | None
13+
14+
class diffobj(NamedTuple):
15+
header: header | None
16+
changes: list[Change] | None
17+
text: str
18+
19+
class Change(NamedTuple):
20+
old: int | None
21+
new: int | None
22+
line: int | None
23+
hunk: int
24+
25+
file_timestamp_str: str
26+
diffcmd_header: Pattern[str]
27+
unified_header_index: Pattern[str]
28+
unified_header_old_line: Pattern[str]
29+
unified_header_new_line: Pattern[str]
30+
unified_hunk_start: Pattern[str]
31+
unified_change: Pattern[str]
32+
context_header_old_line: Pattern[str]
33+
context_header_new_line: Pattern[str]
34+
context_hunk_start: Pattern[str]
35+
context_hunk_old: Pattern[str]
36+
context_hunk_new: Pattern[str]
37+
context_change: Pattern[str]
38+
ed_hunk_start: Pattern[str]
39+
ed_hunk_end: Pattern[str]
40+
rcs_ed_hunk_start: Pattern[str]
41+
default_hunk_start: Pattern[str]
42+
default_hunk_mid: Pattern[str]
43+
default_change: Pattern[str]
44+
git_diffcmd_header: Pattern[str]
45+
git_header_index: Pattern[str]
46+
git_header_old_line: Pattern[str]
47+
git_header_new_line: Pattern[str]
48+
git_header_file_mode: Pattern[str]
49+
git_header_binary_file: Pattern[str]
50+
bzr_header_index: Pattern[str]
51+
bzr_header_old_line: Pattern[str]
52+
bzr_header_new_line: Pattern[str]
53+
svn_header_index: Pattern[str]
54+
svn_header_timestamp_version: Pattern[str]
55+
svn_header_timestamp: Pattern[str]
56+
cvs_header_index: Pattern[str]
57+
cvs_header_rcs: Pattern[str]
58+
cvs_header_timestamp: Pattern[str]
59+
cvs_header_timestamp_colon: Pattern[str]
60+
old_cvs_diffcmd_header: Pattern[str]
61+
62+
def parse_patch(text: str | Iterable[str]) -> Iterator[diffobj]: ...
63+
def parse_header(text: str | Iterable[str]) -> header | None: ...
64+
def parse_scm_header(text: str | Iterable[str]) -> header | None: ...
65+
def parse_diff_header(text: str | Iterable[str]) -> header | None: ...
66+
def parse_diff(text: str | Iterable[str]) -> list[Change] | None: ...
67+
def parse_git_header(text: str | Iterable[str]) -> header | None: ...
68+
def parse_svn_header(text: str | Iterable[str]) -> header | None: ...
69+
def parse_cvs_header(text: str | Iterable[str]) -> header | None: ...
70+
def parse_diffcmd_header(text: str | Iterable[str]) -> header | None: ...
71+
def parse_unified_header(text: str | Iterable[str]) -> header | None: ...
72+
def parse_context_header(text: str | Iterable[str]) -> header | None: ...
73+
def parse_default_diff(text: str | Iterable[str]) -> list[Change] | None: ...
74+
def parse_unified_diff(text: str | Iterable[str]) -> list[Change] | None: ...
75+
def parse_context_diff(text: str | Iterable[str]) -> list[Change] | None: ...
76+
def parse_ed_diff(text: str | Iterable[str]) -> list[Change] | None: ...
77+
def parse_rcs_ed_diff(text: str | Iterable[str]) -> list[Change] | None: ...
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from collections.abc import Sequence
2+
from typing import Pattern
3+
4+
def remove(path: str) -> None: ...
5+
def findall_regex(items: Sequence[str], regex: Pattern[str]) -> list[int]: ...
6+
def split_by_regex(items: Sequence[str], regex: Pattern[str]) -> list[Sequence[str]]: ...
7+
def which(program: str) -> str | None: ...

0 commit comments

Comments
 (0)