Skip to content

Commit

Permalink
type-annotate parser.py
Browse files Browse the repository at this point in the history
  • Loading branch information
siddhantgoel committed Aug 1, 2019
1 parent f705f5f commit 302a457
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions streaming_form_data/parser.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import cgi
from typing import Mapping, Type

from streaming_form_data._parser import ErrorGroup, _Parser
from streaming_form_data._parser import ErrorGroup, _Parser # type: ignore
from streaming_form_data.targets import BaseTarget


class ParseFailedException(Exception):
pass


def parse_content_boundary(headers):
def parse_content_boundary(headers: Mapping[str, str]) -> bytes:
content_type = None

for key in headers.keys():
Expand All @@ -31,7 +33,7 @@ def parse_content_boundary(headers):


class StreamingFormDataParser:
def __init__(self, headers):
def __init__(self, headers: Mapping[str, str]):
self.headers = headers

raw_boundary = parse_content_boundary(headers)
Expand All @@ -43,15 +45,15 @@ def __init__(self, headers):

self._running = False

def register(self, name, target):
def register(self, name: str, target: Type[BaseTarget]):
if self._running:
raise ParseFailedException(
'Registering parts not allowed when parser is running'
)

self._parser.register(name, target)

def data_received(self, data):
def data_received(self, data: bytes):
if not self._running:
self._running = True

Expand Down

0 comments on commit 302a457

Please sign in to comment.