27 lines
987 B
Python
Executable File
27 lines
987 B
Python
Executable File
from djangorestframework_camel_case.parser import CamelCaseMultiPartParser
|
|
from formencode.variabledecode import variable_decode
|
|
from rest_framework import parsers
|
|
from rest_framework.parsers import MultiPartParser
|
|
|
|
|
|
class NestedMultiPartParser(MultiPartParser):
|
|
def parse(self, stream, media_type=None, parser_context=None):
|
|
result = super().parse(
|
|
stream=stream, media_type=media_type, parser_context=parser_context
|
|
)
|
|
data = variable_decode(result.data)
|
|
files = variable_decode(result.files)
|
|
|
|
return parsers.DataAndFiles(data, files)
|
|
|
|
|
|
class CamelCaseNestedMultiPartParser(CamelCaseMultiPartParser):
|
|
def parse(self, stream, media_type=None, parser_context=None):
|
|
result = super().parse(
|
|
stream=stream, media_type=media_type, parser_context=parser_context
|
|
)
|
|
data = variable_decode(result.data)
|
|
files = variable_decode(result.files)
|
|
|
|
return parsers.DataAndFiles(data, files)
|