diff --git a/datauri b/datauri new file mode 100755 index 0000000..c4aa19e --- /dev/null +++ b/datauri @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +from argparse import ArgumentParser +from base64 import b64encode +import mimetypes + +parser = ArgumentParser() + +parser.add_argument('file', type=str) +parser.add_argument('-t', '--type', type=str) + +args = parser.parse_args() + +with open(args.file, 'rb') as f: + data = f.read() + +encoded_data = b64encode(data).decode() + +if args.type is not None: + mimetype = args.type +else: + mimetype = mimetypes.types_map.get( + '.{}'.format(args.file.rsplit('.', 1)[-1]), + 'application/octet-stream' + ) + +print('data:{};base64,{}'.format(mimetype, encoded_data))