forked from python/typeshed
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A pretty simple library. It has inline type comments, so stubgen was able to write most of the stubs for me. There is an open issue about switching to inline types (matiasb/python-unidiff#117).
- Loading branch information
1 parent
1dff589
commit 54e21ca
Showing
6 changed files
with
147 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
version = "0.7.*" | ||
upstream_repository = "https://github.com/matiasb/python-unidiff" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
from _typeshed import Incomplete | ||
|
||
from unidiff.patch import ( | ||
DEFAULT_ENCODING as DEFAULT_ENCODING, | ||
LINE_TYPE_ADDED as LINE_TYPE_ADDED, | ||
LINE_TYPE_CONTEXT as LINE_TYPE_CONTEXT, | ||
LINE_TYPE_REMOVED as LINE_TYPE_REMOVED, | ||
Hunk as Hunk, | ||
PatchedFile as PatchedFile, | ||
PatchSet as PatchSet, | ||
UnidiffParseError as UnidiffParseError, | ||
) | ||
|
||
VERSION: Incomplete |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
__version__: str |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
from re import Pattern | ||
|
||
RE_SOURCE_FILENAME: Pattern[str] | ||
RE_TARGET_FILENAME: Pattern[str] | ||
RE_DIFF_GIT_HEADER: Pattern[str] | ||
RE_DIFF_GIT_HEADER_URI_LIKE: Pattern[str] | ||
RE_DIFF_GIT_HEADER_NO_PREFIX: Pattern[str] | ||
RE_DIFF_GIT_DELETED_FILE: Pattern[str] | ||
RE_DIFF_GIT_NEW_FILE: Pattern[str] | ||
RE_HUNK_HEADER: Pattern[str] | ||
RE_HUNK_BODY_LINE: Pattern[str] | ||
RE_HUNK_EMPTY_BODY_LINE: Pattern[str] | ||
RE_NO_NEWLINE_MARKER: Pattern[str] | ||
RE_BINARY_DIFF: Pattern[str] | ||
DEFAULT_ENCODING: str | ||
DEV_NULL: str | ||
LINE_TYPE_ADDED: str | ||
LINE_TYPE_REMOVED: str | ||
LINE_TYPE_CONTEXT: str | ||
LINE_TYPE_EMPTY: str | ||
LINE_TYPE_NO_NEWLINE: str | ||
LINE_VALUE_NO_NEWLINE: str |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
class UnidiffParseError(Exception): ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
from _typeshed import StrPath | ||
from collections.abc import Iterable | ||
from typing import overload | ||
from typing_extensions import Self | ||
|
||
class Line: | ||
source_line_no: int | None | ||
target_line_no: int | None | ||
diff_line_no: int | None | ||
line_type: str | ||
value: str | ||
def __init__( | ||
self, | ||
value: str, | ||
line_type: str, | ||
source_line_no: int | None = None, | ||
target_line_no: int | None = None, | ||
diff_line_no: int | None = None, | ||
) -> None: ... | ||
def __eq__(self, other: Line) -> bool: ... | ||
@property | ||
def is_added(self) -> bool: ... | ||
@property | ||
def is_removed(self) -> bool: ... | ||
@property | ||
def is_context(self) -> bool: ... | ||
|
||
class PatchInfo(list[str]): ... | ||
|
||
class Hunk(list[Line]): | ||
source_start: int | ||
source_length: int | ||
target_start: int | ||
target_length: int | ||
section_header: str | ||
def __init__( | ||
self, src_start: int = 0, src_len: int | None = 0, tgt_start: int = 0, tgt_len: int | None = 0, section_header: str = "" | ||
) -> None: ... | ||
def append(self, line: Line) -> None: ... | ||
@property | ||
def added(self) -> int | None: ... | ||
@property | ||
def removed(self) -> int | None: ... | ||
def is_valid(self) -> bool: ... | ||
def source_lines(self) -> Iterable[Line]: ... | ||
@property | ||
def source(self) -> Iterable[str]: ... | ||
def target_lines(self) -> Iterable[Line]: ... | ||
@property | ||
def target(self) -> Iterable[str]: ... | ||
|
||
class PatchedFile(list[Hunk]): | ||
patch_info: PatchInfo | None | ||
source_file: str | ||
source_timestamp: str | None | ||
target_file: str | ||
target_timestamp: str | None | ||
is_binary_file: bool | ||
def __init__( | ||
self, | ||
patch_info: PatchInfo | None = None, | ||
source: str = "", | ||
target: str = "", | ||
source_timestamp: str | None = None, | ||
target_timestamp: str | None = None, | ||
is_binary_file: bool = False, | ||
) -> None: ... | ||
@property | ||
def path(self) -> str: ... | ||
@property | ||
def added(self) -> int: ... | ||
@property | ||
def removed(self) -> int: ... | ||
@property | ||
def is_rename(self): ... | ||
@property | ||
def is_added_file(self) -> bool: ... | ||
@property | ||
def is_removed_file(self) -> bool: ... | ||
@property | ||
def is_modified_file(self) -> bool: ... | ||
|
||
class PatchSet(list[PatchedFile]): | ||
@overload | ||
def __init__(self, f: Iterable[str] | str, *, metadata_only: bool = False) -> None: ... | ||
@overload | ||
def __init__(self, f: Iterable[bytes] | bytes, encoding: str, metadata_only: bool = False) -> None: ... | ||
@classmethod | ||
def from_filename( | ||
cls, filename: StrPath, encoding: str = "UTF-8", errors: str | None = None, newline: str | None = None | ||
) -> Self: ... | ||
@classmethod | ||
@overload | ||
def from_string(cls, data: str, *, errors: str | None = "strict") -> Self: ... | ||
@classmethod | ||
@overload | ||
def from_string(cls, data: bytes, encoding: str, errors: str | None = "strict") -> Self: ... | ||
@property | ||
def added_files(self) -> list[PatchedFile]: ... | ||
@property | ||
def removed_files(self) -> list[PatchedFile]: ... | ||
@property | ||
def modified_files(self) -> list[PatchedFile]: ... | ||
@property | ||
def added(self) -> int: ... | ||
@property | ||
def removed(self) -> int: ... |