An open API service indexing awesome lists of open source software.

https://github.com/joegasewicz/birman

Multipart formdata decoder
https://github.com/joegasewicz/birman

form formdata multipart multipart-formdata

Last synced: about 1 month ago
JSON representation

Multipart formdata decoder

Awesome Lists containing this project

README

        

[![Python package](https://github.com/joegasewicz/birman/actions/workflows/python-package.yml/badge.svg)](https://github.com/joegasewicz/birman/actions/workflows/python-package.yml)
[![Upload Python Package](https://github.com/joegasewicz/birman/actions/workflows/python-publish.yml/badge.svg)](https://github.com/joegasewicz/birman/actions/workflows/python-publish.yml)

# Birman
Multipart formdata decoder library.

### Install
```
pip install birman
```

### Get started

Decode multipart form data
```python
from birman import Decoder
# multipart_data = b'---- ...etc'

decoder = Decoder(multipart_data)
result = decoder.decode()
```
This would return a normalized dict
```python
# example from params - [email protected]&password=wizard
# result -
{
"email": {
"name": "email",
"value": "[email protected]",
},
"password": {
"name": "password",
"value": "wizard",
},
}
```

Parse URI form params
```python
from birman import Encoder

arg = "[email protected]&password=wizard"
result = Encoder.parse_params(arg)
```
This would return a normalized dict
```python
# result -
{
"email": {
"name": "email",
"value": "[email protected]",
},
"password": {
"name": "password",
"value": "wizard",
},
}
```

### Multipart Formdata
The decoder method will return file data extracted from the multipart formdata as a dict.

```python
{
'name': 'logo',
'type': 'file',
'value': {
'filename': 'bobtail.png',
'mimetype': 'image/png',
'file_data': b'...',
'type': 'file',
}
```