view python/hexify.py @ 788:fa3ad63ec3a3

https://github.com/novas0x2a/config-files/blob/master/.gitconfig#L89
author Jeff Hammel <k0scist@gmail.com>
date Wed, 28 Sep 2016 16:42:20 -0700
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()