def get_token()

in atomresponder/media_atom.py [0:0]


def get_token(uri, secret, override_time=None):
    from email.utils import formatdate

    if override_time:
        dt = override_time
    else:
        dt = datetime.now()
    httpdate = formatdate(timeval=mktime(dt.timetuple()),localtime=False,usegmt=True)
    url_parts = urlparse(uri)

    string_to_sign = "{0}\n{1}".format(httpdate, url_parts.path)
    logger.debug("string_to_sign: " + string_to_sign)
    hm = hmac.new(secret.encode('UTF-8'), string_to_sign.encode('UTF-8'), hashlib.sha256)
    return "HMAC {0}".format(base64.b64encode(hm.digest()).decode('UTF-8')), httpdate