#!/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))
