view python/hexify.py @ 853:5e05c41337e3

Example: generate passwords
author Jeff Hammel <k0scist@gmail.com>
date Sun, 10 Dec 2017 17:18:29 -0800
parents ffb75d832afe
children
line wrap: on
line source

#!/usr/bin/env python

import sys

def hexify(string, excludes=('/',)):
    return ''.join([i if i in excludes else ('%'+ hex(ord(i))[-2:])
                    for i in string])

def hidden_url(string):
    if '://' in string:
        scheme, rest = string.split('://', 1)
        if '/' in rest:
            loc, rest = rest.split('/', 1)
            return '{}://{}/{}'.format(scheme, loc, hexify(rest, excludes=('/',)))
        else:
            return string
    else:
        return hexify(string, excludes=('/',))

def main(args=sys.argv[1:]):
    string = ' '.join(args)
    print hidden_url(string)

if __name__ == '__main__':
    main()