annotate wordstream/dissociate.py @ 2:df84e61ae1e4

add dissociation
author k0s <k0scist@gmail.com>
date Fri, 12 Feb 2010 00:38:25 -0500
parents
children e21f53582267
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
1 #!/usr/bin/env python
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
2
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
3 import random
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
4 import sys
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
5 import urllib2
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
6
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
7 from optparse import OptionParser
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
8 from pprint import pprint
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
9 from wordstream.api import Corpus
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
10
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
11 def dissociate(args=sys.argv[1:]):
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
12 parser = OptionParser()
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
13 options, args = parser.parse_args()
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
14
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
15 corpus = Corpus()
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
16 corpus.feed_stuff(*args)
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
17 corpus.scramble()
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
18
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
19 while corpus:
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
20 word = random.choice(corpus.keys())
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
21 inedible = True
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
22 while corpus.get(word):
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
23 inedible = False
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
24 print word + ' ',
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
25 word = corpus.eat(word)
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
26 if inedible: # eat it anyway
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
27 corpus.eat(word)
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
28
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
29 if __name__ == '__main__':
df84e61ae1e4 add dissociation
k0s <k0scist@gmail.com>
parents:
diff changeset
30 dissociate()