update-type-hint

This commit is contained in:
codeboss 2024-08-04 10:00:45 +08:00
parent bb8e507d26
commit 508655089f
5 changed files with 39 additions and 39 deletions

View File

@ -1,5 +1,5 @@
import xml.dom.minidom as mdom import xml.dom.minidom as mdom
from typing import List, Tuple, Dict from typing import List, Tuple, Dict, Union
from abc import abstractmethod from abc import abstractmethod
from enum import Enum from enum import Enum
from frame.ReferView import EmptyNode from frame.ReferView import EmptyNode
@ -20,23 +20,23 @@ class ElementSlice:
raise NotImplementedError("type") raise NotImplementedError("type")
@abstractmethod @abstractmethod
def parent_slice(self) -> 'ElementSlice' | None: def parent_slice(self) -> Union['ElementSlice', None]:
raise NotImplementedError() raise NotImplementedError()
@abstractmethod @abstractmethod
def set_prev(self, inst: 'ElementSlice' | None): def set_prev(self, inst: Union['ElementSlice', None]):
raise NotImplementedError() raise NotImplementedError()
@abstractmethod @abstractmethod
def prev_sibling(self) -> 'ElementSlice' | None: def prev_sibling(self) -> Union['ElementSlice', None]:
raise NotImplementedError() raise NotImplementedError()
@abstractmethod @abstractmethod
def set_next(self, inst: 'ElementSlice' | None): def set_next(self, inst: Union['ElementSlice', None]):
raise NotImplementedError() raise NotImplementedError()
@abstractmethod @abstractmethod
def next_sibling(self) -> 'ElementSlice' | None: def next_sibling(self) -> Union['ElementSlice', None]:
raise NotImplementedError() raise NotImplementedError()
@abstractmethod @abstractmethod
@ -52,23 +52,23 @@ class Collection:
class SiblingsImpl(ElementSlice): class SiblingsImpl(ElementSlice):
def __init__(self): def __init__(self):
self.__prev_sib: 'StoryDefine' | None = None self.__prev_sib: Union['StoryDefine', None] = None
self.__next_sib: 'StoryDefine' | None = None self.__next_sib: Union['StoryDefine', None] = None
pass pass
def parent_slice(self) -> 'ElementSlice' | None: def parent_slice(self) -> Union['ElementSlice', None]:
pass pass
def set_prev(self, inst: 'ElementSlice' | None): def set_prev(self, inst: Union['ElementSlice', None]):
pass pass
def prev_sibling(self) -> 'ElementSlice' | None: def prev_sibling(self) -> Union['ElementSlice', None]:
pass pass
def set_next(self, inst: 'ElementSlice' | None): def set_next(self, inst: Union['ElementSlice', None]):
pass pass
def next_sibling(self) -> 'ElementSlice' | None: def next_sibling(self) -> Union['ElementSlice', None]:
pass pass
def index(self) -> int: def index(self) -> int:
@ -79,30 +79,30 @@ class StoryDefine(ElementSlice, Collection):
def __init__(self, nm: str, idx: int): def __init__(self, nm: str, idx: int):
self.__index = idx self.__index = idx
self.__name = nm self.__name = nm
self.__prev_sib: 'StoryDefine' | None = None self.__prev_sib: Union['StoryDefine', None] = None
self.__next_sib: 'StoryDefine' | None = None self.__next_sib: Union['StoryDefine', None] = None
self.__children: List[ElementSlice] = [] self.__children: List[ElementSlice] = []
pass pass
def type(self) -> SliceType: def type(self) -> SliceType:
return SliceType.StoryDefine return SliceType.StoryDefine
def parent_slice(self) -> 'ElementSlice' | None: def parent_slice(self) -> Union['ElementSlice', None]:
return None return None
def set_prev(self, inst: 'ElementSlice' | None): def set_prev(self, inst: Union['ElementSlice', None]):
self.__prev_sib = inst self.__prev_sib = inst
pass pass
def prev_sibling(self) -> 'ElementSlice' | None: def prev_sibling(self) -> Union['ElementSlice', None]:
return self.__prev_sib return self.__prev_sib
pass pass
def set_next(self, inst: 'ElementSlice' | None): def set_next(self, inst: Union['ElementSlice', None]):
self.__next_sib = inst self.__next_sib = inst
pass pass
def next_sibling(self) -> 'ElementSlice' | None: def next_sibling(self) -> Union['ElementSlice', None]:
return self.__next_sib return self.__next_sib
pass pass
@ -131,30 +131,30 @@ def calc_index(inst: ElementSlice) -> int:
class TextParagraph(ElementSlice): class TextParagraph(ElementSlice):
def __init__(self, parent: ElementSlice): def __init__(self, parent: ElementSlice):
self.__parent_node = parent self.__parent_node = parent
self.__prev_node: ElementSlice | None = None self.__prev_node: Union[ElementSlice, None] = None
self.__next_node: ElementSlice | None = None self.__next_node: Union[ElementSlice, None] = None
self.__text_lines: List[str] = [] self.__text_lines: List[str] = []
pass pass
def type(self) -> SliceType: def type(self) -> SliceType:
return SliceType.TextParagraph return SliceType.TextParagraph
def parent_slice(self) -> 'ElementSlice' | None: def parent_slice(self) -> Union['ElementSlice', None]:
return self.__parent_node return self.__parent_node
def set_prev(self, inst: 'ElementSlice' | None): def set_prev(self, inst: Union['ElementSlice', None]):
self.__prev_node = inst self.__prev_node = inst
pass pass
def prev_sibling(self) -> 'ElementSlice' | None: def prev_sibling(self) -> Union['ElementSlice', None]:
return self.__prev_node return self.__prev_node
def set_next(self, inst: 'ElementSlice' | None): def set_next(self, inst: Union['ElementSlice', None]):
self.__next_node = inst self.__next_node = inst
inst.set_prev(self) inst.set_prev(self)
pass pass
def next_sibling(self) -> 'ElementSlice' | None: def next_sibling(self) -> Union['ElementSlice', None]:
return self.__next_node return self.__next_node
def index(self) -> int: def index(self) -> int:
@ -165,8 +165,8 @@ class FragmentDefine(ElementSlice):
def __init__(self, nm:str, parent: ElementSlice): def __init__(self, nm:str, parent: ElementSlice):
self.__name = nm self.__name = nm
self.__parent_inst = parent self.__parent_inst = parent
self.__prev_node: ElementSlice | None = None self.__prev_node: Union[ElementSlice, None] = None
self.__next_node: ElementSlice | None = None self.__next_node: Union[ElementSlice, None] = None
self.__refer_nodes: List[ElementSlice] = [] self.__refer_nodes: List[ElementSlice] = []
self.__description: TextParagraph = TextParagraph(self) self.__description: TextParagraph = TextParagraph(self)
pass pass
@ -174,22 +174,22 @@ class FragmentDefine(ElementSlice):
def type(self) -> SliceType: def type(self) -> SliceType:
return SliceType.FragmentDefine return SliceType.FragmentDefine
def parent_slice(self) -> 'ElementSlice' | None: def parent_slice(self) -> Union['ElementSlice', None]:
return self.__parent_inst return self.__parent_inst
def set_prev(self, inst: 'ElementSlice' | None): def set_prev(self, inst: Union['ElementSlice', None]):
self.__prev_node = inst self.__prev_node = inst
pass pass
def prev_sibling(self) -> 'ElementSlice' | None: def prev_sibling(self) -> Union['ElementSlice', None]:
return self.__prev_node return self.__prev_node
def set_next(self, inst: 'ElementSlice' | None): def set_next(self, inst: Union['ElementSlice', None]):
self.__next_node = inst self.__next_node = inst
inst.set_prev(self) inst.set_prev(self)
pass pass
def next_sibling(self) -> 'ElementSlice' | None: def next_sibling(self) -> Union['ElementSlice', None]:
return self.__next_node return self.__next_node
def index(self) -> int: def index(self) -> int:
@ -210,7 +210,7 @@ class FragmentDefine(ElementSlice):
class FragmentRefer(ElementSlice): class FragmentRefer(ElementSlice):
def __init__(self, parent: ElementSlice): def __init__(self, parent: ElementSlice):
pass
class FragmentSlice(EmptyNode): class FragmentSlice(EmptyNode):
@ -221,8 +221,8 @@ class FragmentSlice(EmptyNode):
self.fragm_refer = "" self.fragm_refer = ""
self.fragm_sort_i = 0 self.fragm_sort_i = 0
self.prev_node: 'FragmentSlice' | None = None # 上游节点 self.prev_node: Union['FragmentSlice', None] = None # 上游节点
self.next_node: 'FragmentSlice' | None = None # 下游节点 self.next_node: Union['FragmentSlice', None] = None # 下游节点
self.refers_slice: Dict[str, 'FragmentSlice'] = {} # 引用切面 self.refers_slice: Dict[str, 'FragmentSlice'] = {} # 引用切面
self.text_sections: List[str] = [] # 文本段落 self.text_sections: List[str] = [] # 文本段落
@ -272,7 +272,7 @@ class StoryMap:
self.slice_list.append(node) self.slice_list.append(node)
pass pass
def get_fragment_defined(self, name: str) -> FragmentSlice | None: def get_fragment_defined(self, name: str) -> Union[FragmentSlice, None]:
for fit in self.slice_list: for fit in self.slice_list:
if fit.is_define_node[0]: if fit.is_define_node[0]:
if fit.is_define_node[1] == name: if fit.is_define_node[1] == name:
@ -305,7 +305,7 @@ class XAST_ParseTool:
pass pass
return values return values
def __extract_empty_storymap(self, name: str) -> Tuple[StoryMap, mdom.Element] | None: def __extract_empty_storymap(self, name: str) -> Union[Tuple[StoryMap, mdom.Element], None]:
storys = self.dom_tree.getElementsByTagName("story") storys = self.dom_tree.getElementsByTagName("story")
for node in storys: for node in storys:
if node.getAttribute("name") == name: if node.getAttribute("name") == name: