update-type-hint
This commit is contained in:
parent
bb8e507d26
commit
508655089f
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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:
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue