annotate python/urlhash.py @ 807:26786fae0703

this relies on a requirement that is not part of my (2.7.12) stdlib; i almost deleted it. instead, i will keep for fun and note the requirement for further research
author Jeff Hammel <k0scist@gmail.com>
date Fri, 28 Oct 2016 17:09:04 -0700
parents bea4dd61ae45
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
106
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 return a random URL hash
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 """
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 import random
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 import urllib
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 chars = [ chr(i) for i in range(0,255) ]
801
bea4dd61ae45 cleanup
Jeff Hammel <k0scist@gmail.com>
parents: 106
diff changeset
11 allowed = [ urllib.quote_plus(i) for i in chars
106
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 if urllib.quote_plus(i) in chars ]
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 def urlhash(len=10):
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 chars = random.sample(allowed, len)
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 string = ''.join(chars)
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 return urllib.quote_plus(string)
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 if __name__ == '__main__':
3c193788a0db add a script to create a random url hash
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 print urlhash()