MCPcopy Create free account
hub / github.com/Vanderhoof/PyDBML / __new__

Method __new__

pydbml/parser/parser.py:53–79  ·  view source on GitHub ↗
(
        cls,
        source_: Optional[Union[str, Path, TextIOWrapper]] = None,
        allow_properties: bool = False,
        sql_renderer: Type[BaseRenderer] = DefaultSQLRenderer,
        dbml_renderer: Type[BaseRenderer] = DefaultDBMLRenderer,
    )

Source from the content-addressed store, hash-verified

51 """
52
53 def __new__(
54 cls,
55 source_: Optional[Union[str, Path, TextIOWrapper]] = None,
56 allow_properties: bool = False,
57 sql_renderer: Type[BaseRenderer] = DefaultSQLRenderer,
58 dbml_renderer: Type[BaseRenderer] = DefaultDBMLRenderer,
59 ):
60 if source_ is not None:
61 if isinstance(source_, str):
62 source = source_
63 elif isinstance(source_, Path):
64 with open(source_, encoding="utf8") as f:
65 source = f.read()
66 elif isinstance(source_, TextIOWrapper):
67 source = source_.read()
68 else:
69 raise TypeError("Source must be str, path or file stream")
70
71 source = remove_bom(source)
72 return cls.parse(
73 source,
74 allow_properties=allow_properties,
75 sql_renderer=sql_renderer,
76 dbml_renderer=dbml_renderer,
77 )
78 else:
79 return super().__new__(cls)
80
81 def __repr__(self):
82 return "<PyDBML>"

Callers

nothing calls this directly

Calls 2

remove_bomFunction · 0.90
parseMethod · 0.45

Tested by

no test coverage detected