A Pythonic data uri parser
Project description
data_uri_parser
Originally from: https://gist.github.com/zacharyvoase/5538178
Data URI manipulation made easy.
This isn't very robust, and will reject a number of valid data URIs. However, it meets the most useful case: a mimetype, a charset, and the base64 flag.
Parsing
>>> uri = DataURI('data:text/plain;charset=utf-8;base64,VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu')
>>> uri.mimetype
'text/plain'
>>> uri.charset
'utf-8'
>>> uri.is_base64
True
>>> uri.data
'The quick brown fox jumped over the lazy dog.'
Note that DataURI.data
won't decode the data bytestring into a unicode string based on the charset.
Creating from a string
>>> made = DataURI.make('text/plain', charset='us-ascii', base64=True, data='This is a message.')
>>> made
DataURI('data:text/plain;charset=us-ascii;base64,VGhpcyBpcyBhIG1lc3NhZ2Uu')
>>> made.data
'This is a message.'
Creating from a file
This is really just a convenience method.
>>> png_uri = DataURI.from_file('somefile.png')
>>> png_uri.mimetype
'image/png'
>>> png_uri.data
'\x89PNG\r\n...'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
data-uri-parser-0.1.1.tar.gz
(3.6 kB
view hashes)
Built Distribution
Close
Hashes for data_uri_parser-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ddb166406103c632383183715a2e749af8f3006adbb1ce354795880310f439 |
|
MD5 | da917031c108ce90c189dedb28297d60 |
|
BLAKE2b-256 | e3b93333593ee1926d2de9f11193ce88e75e07cd694ec783076fad11e755bec4 |