File: diagrams_base.pyi

package info (click to toggle)
python-transitions 0.9.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,728 kB
  • sloc: python: 8,765; makefile: 10; sh: 7
file content (37 lines) | stat: -rw-r--r-- 1,636 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import abc
from typing import BinaryIO, Protocol, Optional, Union, List, Dict, Tuple, Generator

from .diagrams import GraphMachine, HierarchicalGraphMachine
from ..core import ModelState


class GraphProtocol(Protocol):

    def draw(self, filename: Optional[Union[str, BinaryIO]], format:Optional[str] = ...,
             prog: Optional[str] = ..., args:str = ...) -> Optional[str]: ...

class GraphModelProtocol(Protocol):

    def get_graph(self, title: Optional[str]=None, force_new: bool=False, show_roi: bool=False) -> GraphProtocol: ...


class BaseGraph(metaclass=abc.ABCMeta):
    machine: Union[GraphMachine, HierarchicalGraphMachine]
    fsm_graph: Optional[GraphProtocol]
    def __init__(self, machine: GraphMachine) -> None: ...
    @abc.abstractmethod
    def generate(self) -> None: ...
    @abc.abstractmethod
    def set_previous_transition(self, src: str, dst: str) -> None: ...
    @abc.abstractmethod
    def reset_styling(self) -> None: ...
    @abc.abstractmethod
    def set_node_style(self, state: ModelState, style: str) -> None: ...
    @abc.abstractmethod
    def get_graph(self, title: Optional[str] = ..., roi_state: Optional[str] = ...) -> GraphProtocol: ...
    def _convert_state_attributes(self, state: Dict[str, str]) -> str: ...
    def _get_state_names(self, state: ModelState) -> Generator[str, None, None]: ...
    def _transition_label(self, tran: Dict[str, str]) -> str: ...
    def _get_global_name(self, path: List[str]) -> str: ...
    def _get_elements(self) -> Tuple[List[Dict[str, str]], List[Dict[str, str]]]: ...
    def _flatten(self, *lists: Union[str, Tuple[str]]) -> List[str]: ...