From be3980d18e05f43361b923e05c8969a1beb925af Mon Sep 17 00:00:00 2001 From: nejdetckenobi Date: Fri, 30 Oct 2026 00:09:52 +0300 Subject: [PATCH] Adds datauri tool --- datauri | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 datauri 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))