MCPcopy Create free account
hub / github.com/theskumar/python-dotenv / parse_binding

Function parse_binding

src/dotenv/parser.py:135–169  ·  view source on GitHub ↗
(reader: Reader)

Source from the content-addressed store, hash-verified

133
134
135def parse_binding(reader: Reader) -> Binding:
136 reader.set_mark()
137 try:
138 reader.read_regex(_multiline_whitespace)
139 if not reader.has_next():
140 return Binding(
141 key=None,
142 value=None,
143 original=reader.get_marked(),
144 error=False,
145 )
146 reader.read_regex(_export)
147 key = parse_key(reader)
148 reader.read_regex(_whitespace)
149 if reader.peek(1) == "=":
150 reader.read_regex(_equal_sign)
151 value: Optional[str] = parse_value(reader)
152 else:
153 value = None
154 reader.read_regex(_comment)
155 reader.read_regex(_end_of_line)
156 return Binding(
157 key=key,
158 value=value,
159 original=reader.get_marked(),
160 error=False,
161 )
162 except Error:
163 reader.read_regex(_rest_of_line)
164 return Binding(
165 key=None,
166 value=None,
167 original=reader.get_marked(),
168 error=True,
169 )
170
171
172def parse_stream(stream: IO[str]) -> Iterator[Binding]:

Callers 1

parse_streamFunction · 0.85

Calls 8

BindingClass · 0.85
parse_keyFunction · 0.85
parse_valueFunction · 0.85
set_markMethod · 0.80
read_regexMethod · 0.80
has_nextMethod · 0.80
get_markedMethod · 0.80
peekMethod · 0.80

Tested by

no test coverage detected