commit: 273b4530ebb098fa140614d72532e5c6cb277df2 Author: Matt Turner <mattst88 <AT> gentoo <DOT> org> AuthorDate: Fri Mar 12 02:24:29 2021 +0000 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> CommitDate: Fri Mar 12 02:31:16 2021 +0000 URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=273b4530
bin: Fix type annotations Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> bin/merge-driver-ekeyword | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/bin/merge-driver-ekeyword b/bin/merge-driver-ekeyword index d24aaf9..7f4a10b 100755 --- a/bin/merge-driver-ekeyword +++ b/bin/merge-driver-ekeyword @@ -14,11 +14,13 @@ import os import sys import tempfile -from typing import List, Optional, Tuple +from typing import List, Optional, Sequence, Tuple from gentoolkit.ekeyword import ekeyword +KeywordChanges = List[Tuple[Optional[List[str]], Optional[List[str]]]] + def keyword_array(keyword_line: str) -> List[str]: # Find indices of string inside the double-quotes i1: int = keyword_line.find('"') + 1 @@ -28,14 +30,13 @@ def keyword_array(keyword_line: str) -> List[str]: return keyword_line[i1:i2].split(' ') -def keyword_line_changes(old: str, new: str) -> List[Tuple[Optional[str], - Optional[str]]]: +def keyword_line_changes(old: str, new: str) -> KeywordChanges: a: List[str] = keyword_array(old) b: List[str] = keyword_array(new) s = difflib.SequenceMatcher(a=a, b=b) - changes = [] + changes: KeywordChanges = [] for tag, i1, i2, j1, j2 in s.get_opcodes(): if tag == 'replace': changes.append((a[i1:i2], b[j1:j2]),) @@ -48,8 +49,7 @@ def keyword_line_changes(old: str, new: str) -> List[Tuple[Optional[str], return changes -def keyword_changes(ebuild1: str, ebuild2: str) -> List[Tuple[Optional[str], - Optional[str]]]: +def keyword_changes(ebuild1: str, ebuild2: str) -> Optional[KeywordChanges]: with open(ebuild1) as e1, open(ebuild2) as e2: lines1 = e1.readlines() lines2 = e2.readlines() @@ -82,8 +82,7 @@ def keyword_changes(ebuild1: str, ebuild2: str) -> List[Tuple[Optional[str], def apply_keyword_changes(ebuild: str, pathname: str, - changes: List[Tuple[Optional[str], - Optional[str]]]) -> int: + changes: KeywordChanges) -> int: result: int = 0 with tempfile.TemporaryDirectory() as tmpdir: @@ -109,7 +108,7 @@ def apply_keyword_changes(ebuild: str, pathname: str, return result -def main(argv): +def main(argv: Sequence[str]) -> int: if len(argv) != 5: sys.exit(-1) @@ -122,10 +121,10 @@ def main(argv): changes = keyword_changes(O, B) if changes: # Apply O -> B changes to A - result: int = apply_keyword_changes(A, P, changes) + result = apply_keyword_changes(A, P, changes) sys.exit(result) else: - result: int = os.system(f"git merge-file -L HEAD -L base -L ours {A} {O} {B}") + result = os.system(f"git merge-file -L HEAD -L base -L ours {A} {O} {B}") sys.exit(0 if result == 0 else -1)