Move generator parser methods to parser

This commit is contained in:
Lonami Exo 2023-10-16 18:31:42 +02:00
parent 5416e4d5c0
commit 957a66f797
8 changed files with 21 additions and 13 deletions

View File

@ -1,5 +1,4 @@
from .fakefs import FakeFs, SourceWriter
from .generator import generate
from .loader import ParsedTl, load_tl_file
__all__ = ["FakeFs", "SourceWriter", "generate", "ParsedTl", "load_tl_file"]
__all__ = ["FakeFs", "SourceWriter", "generate"]

View File

@ -1,9 +1,8 @@
from pathlib import Path
from typing import Set
from ..tl_parser import NormalParameter
from ..tl_parser import NormalParameter, ParsedTl
from .fakefs import FakeFs, SourceWriter
from .loader import ParsedTl
from .serde.common import (
inner_type_fmt,
is_computed,

View File

@ -1,3 +1,4 @@
from .loader import ParsedTl, load_tl_file
from .tl import (
BaseParameter,
Definition,
@ -23,4 +24,6 @@ __all__ = [
"FlagsParameter",
"NormalParameter",
"Type",
"ParsedTl",
"load_tl_file",
]

View File

@ -1,8 +1,10 @@
import re
from dataclasses import dataclass
from typing import List, Optional
from pathlib import Path
from typing import List, Optional, Union
from ..tl_parser import Definition, FunctionDef, TypeDef, parse_tl_file
from .tl import Definition
from .tl_iterator import FunctionDef, TypeDef, iterate
@dataclass
@ -12,7 +14,7 @@ class ParsedTl:
functiondefs: List[Definition]
def load_tl_file(path: str) -> ParsedTl:
def load_tl_file(path: Union[str, Path]) -> ParsedTl:
typedefs, functiondefs = [], []
with open(path, "r", encoding="utf-8") as fd:
contents = fd.read()
@ -22,7 +24,7 @@ def load_tl_file(path: str) -> ParsedTl:
else:
layer = None
for definition in parse_tl_file(contents):
for definition in iterate(contents):
if isinstance(definition, Exception):
# generic types (such as vector) is known to not be implemented
if definition.args[0] != "not implemented":

View File

@ -1,3 +1,3 @@
from .._impl.codegen import FakeFs, ParsedTl, generate
from .._impl.codegen import FakeFs, generate
__all__ = ["FakeFs", "ParsedTl", "generate"]
__all__ = ["FakeFs", "generate"]

View File

@ -1,7 +1,8 @@
import sys
from pathlib import Path
from .._impl.codegen import FakeFs, generate, load_tl_file
from .._impl.codegen import FakeFs, generate
from .._impl.tl_parser import load_tl_file
HELP = f"""
USAGE:

View File

@ -6,9 +6,11 @@ from .._impl.tl_parser import (
FunctionDef,
NormalParameter,
Parameter,
ParsedTl,
Type,
TypeDef,
TypeDefNotImplemented,
load_tl_file,
parse_tl_file,
)
@ -16,6 +18,7 @@ __all__ = [
"Definition",
"Flag",
"Parameter",
"ParsedTl",
"TypeDefNotImplemented",
"BaseParameter",
"FlagsParameter",
@ -23,5 +26,6 @@ __all__ = [
"Type",
"FunctionDef",
"TypeDef",
"load_tl_file",
"parse_tl_file",
]

View File

@ -1,7 +1,7 @@
from typing import List, Optional
from telethon_generator.codegen import FakeFs, ParsedTl, generate
from telethon_generator.tl_parser import Definition, parse_tl_file
from telethon_generator.codegen import FakeFs, generate
from telethon_generator.tl_parser import Definition, ParsedTl, parse_tl_file
def get_definitions(contents: str) -> List[Definition]: