[schooltool-checkins] rev 877 - in trunk/demo: . cgi-bin lib
scripts tests
Marius Gedminas
marius at pov.lt
Fri May 7 20:13:22 BST 2004
Author: mg
Date: 2004-05-07 19:13:22 +0300 (Fri, 07 May 2004)
New Revision: 877
Added:
trunk/demo/lib/
trunk/demo/lib/beale.wordlist.asc
trunk/demo/lib/demo.py
trunk/demo/lib/democonfig.py
trunk/demo/scripts/democtl.py
trunk/demo/tests/
trunk/demo/tests/test_demo.py
Removed:
trunk/demo/beale.wordlist.asc
trunk/demo/cgi-bin/demo.py
trunk/demo/cgi-bin/tests.py
trunk/demo/democonfig.py
trunk/demo/scripts/demo-ctl.py
trunk/demo/testsetup.sh
Modified:
trunk/demo/README.txt
trunk/demo/cgi-bin/confirm.py
trunk/demo/cgi-bin/register.py
trunk/demo/scripts/cleanup.py
trunk/demo/scripts/democonfig.h
Log:
Reorganized file locations.
Added INSTALL.txt with installation instructions.
Modified: trunk/demo/README.txt
===================================================================
--- trunk/demo/README.txt 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/README.txt 2004-05-07 16:13:22 UTC (rev 877)
@@ -50,7 +50,7 @@
separate port. The uid, gid and port number can be calculated from the
instance number.
- - A script to manage demo instances (/opt/schooltool/bin/demo-ctl.py).
+ - A script to manage demo instances (/opt/schooltool-demo/bin/democtl).
It accepts the following arguments
. start n -- start instance n. Barfs if instance n does not exist.
@@ -68,15 +68,11 @@
. destroy n -- destroy instance n. Stops the instance if it is running.
Barfs if instance n does not exist. By 'destroy' I mean that the
- instance subdirectory is recursively removed.
+ instance subdirectory is removed.
- An init.d script (/etc/init.d/schooltool-demo) that starts all existing
instances on system startup and stops them on shutdown.
- - An init.d script (schooltool-uml) for the *host* system that starts
- the schooltool-demo UML instance on startup and gracefully stops it
- on shutdown.
-
- A cron script (/opt/schooltool-demo/bin/cleanup) that periodically
looks for and removes expired demo instances.
@@ -86,7 +82,13 @@
- A web application for registering new users.
+On the host system:
+
+ - An init.d script (/etc/init.d/schooltool-demo) that starts the
+ schooltool-demo UML instance on startup and gracefully stops it
+ on shutdown.
+
Installation
------------
-Read uml/notes.txt for thorough instructions.
+Read INSTALL.txt.
Deleted: trunk/demo/beale.wordlist.asc
===================================================================
--- trunk/demo/beale.wordlist.asc 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/beale.wordlist.asc 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,7788 +0,0 @@
------BEGIN PGP SIGNED MESSAGE-----
-
-11111 a
-11112 a's
-11113 a-1
-11114 a-z
-11115 aa
-11116 aaa
-11121 aaaa
-11122 aaron
-11123 ab
-11124 aback
-11125 abacus
-11126 abase
-11131 abash
-11132 abate
-11133 abbey
-11134 abbot
-11135 abbr
-11136 abby
-11141 abc
-11142 abc's
-11143 abcd
-11144 abduct
-11145 abdul
-11146 abe
-11151 abed
-11152 abel
-11153 abet
-11154 abhor
-11155 abide
-11156 ablaze
-11161 able
-11162 abm
-11163 abner
-11164 aboard
-11165 abode
-11166 abort
-11211 about
-11212 above
-11213 abram
-11214 absent
-11215 absorb
-11216 abuse
-11221 abut
-11222 abyss
-11223 ac
-11224 ac/dc
-11225 accept
-11226 accuse
-11231 ace
-11232 aces
-11233 ache
-11234 ached
-11235 aches
-11236 achoo
-11241 achy
-11242 acid
-11243 acidic
-11244 acids
-11245 acme
-11246 acne
-11251 acorn
-11252 acquit
-11253 acre
-11254 acres
-11255 acrid
-11256 act
-11261 acted
-11262 actor
-11263 acts
-11264 acute
-11265 ad
-11266 ada
-11311 adage
-11312 adagio
-11313 adair
-11314 adam
-11315 adams
-11316 adapt
-11321 add
-11322 added
-11323 adder
-11324 addict
-11325 addle
-11326 adds
-11331 adele
-11332 adept
-11333 adieu
-11334 adios
-11335 adjust
-11336 adler
-11341 admit
-11342 ado
-11343 adobe
-11344 adolf
-11345 adonis
-11346 adopt
-11351 adore
-11352 adorn
-11353 ads
-11354 adult
-11355 advent
-11356 adverb
-11361 advise
-11362 ae
-11363 aeiou
-11364 aerial
-11365 aesop
-11366 af
-11411 afar
-11412 affair
-11413 afghan
-11414 afire
-11415 afoot
-11416 afraid
-11421 africa
-11422 afro
-11423 aft
-11424 after
-11425 ag
-11426 again
-11431 agate
-11432 age
-11433 aged
-11434 agenda
-11435 agent
-11436 ages
-11441 agile
-11442 aging
-11443 aglow
-11444 agnes
-11445 agnew
-11446 ago
-11451 agony
-11452 agree
-11453 ah
-11454 aha
-11455 ahab
-11456 ahead
-11461 ahem
-11462 ahmed
-11463 ahoy
-11464 ai
-11465 aid
-11466 aide
-11511 aided
-11512 ail
-11513 aim
-11514 aimed
-11515 aims
-11516 ain't
-11521 air
-11522 airman
-11523 airway
-11524 airy
-11525 aisle
-11526 aj
-11531 ajar
-11532 ajax
-11533 ak
-11534 aka
-11535 akers
-11536 akin
-11541 akqj
-11542 akron
-11543 al
-11544 alan
-11545 alarm
-11546 alas
-11551 alaska
-11552 album
-11553 alden
-11554 ale
-11555 alec
-11556 aleck
-11561 alert
-11562 alex
-11563 alexa
-11564 alexei
-11565 algae
-11566 alger
-11611 ali
-11612 alias
-11613 alibi
-11614 alice
-11615 alien
-11616 alight
-11621 align
-11622 alike
-11623 alive
-11624 alkali
-11625 all
-11626 allah
-11631 allan
-11632 allen
-11633 alley
-11634 allied
-11635 allot
-11636 allow
-11641 alloy
-11642 allure
-11643 ally
-11644 alma
-11645 almost
-11646 alms
-11651 aloft
-11652 aloha
-11653 alone
-11654 along
-11655 aloof
-11656 aloud
-11661 alp
-11662 alpha
-11663 alps
-11664 also
-11665 alsop
-11666 altar
-12111 alter
-12112 altho
-12113 alto
-12114 alum
-12115 alumni
-12116 alvin
-12121 alyx
-12122 am
-12123 am/fm
-12124 amass
-12125 amaze
-12126 amber
-12131 amble
-12132 ambush
-12133 amen
-12134 amend
-12135 ames
-12136 amid
-12141 amigo
-12142 amino
-12143 amish
-12144 amiss
-12145 amity
-12146 ammo
-12151 amok
-12152 among
-12153 amos
-12154 amour
-12155 amp
-12156 ampere
-12161 ample
-12162 amply
-12163 amps
-12164 amulet
-12165 amuse
-12166 amy
-12211 an
-12212 anal
-12213 anchor
-12214 and
-12215 andes
-12216 andre
-12221 andrew
-12222 andy
-12223 anew
-12224 angel
-12225 angelo
-12226 anger
-12231 angie
-12232 angle
-12233 angles
-12234 anglo
-12235 angry
-12236 angst
-12241 angus
-12242 anita
-12243 ankle
-12244 ann
-12245 anna
-12246 anne
-12251 annex
-12252 annie
-12253 annoy
-12254 annul
-12255 anon
-12256 answer
-12261 ant
-12262 ante
-12263 anti
-12264 antic
-12265 anton
-12266 ants
-12311 anus
-12312 anvil
-12313 any
-12314 anyhow
-12315 anyway
-12316 ao
-12321 aok
-12322 aorta
-12323 ap
-12324 apart
-12325 apathy
-12326 ape
-12331 apes
-12332 apex
-12333 aphid
-12334 aplomb
-12335 appeal
-12336 appear
-12341 append
-12342 apple
-12343 apply
-12344 apr
-12345 april
-12346 apron
-12351 apt
-12352 aq
-12353 aqua
-12354 ar
-12355 arab
-12356 arabs
-12361 araby
-12362 arbor
-12363 arc
-12364 arcade
-12365 arch
-12366 archer
-12411 arcs
-12412 ardent
-12413 are
-12414 area
-12415 areas
-12416 arena
-12421 argon
-12422 argue
-12423 aria
-12424 arid
-12425 arise
-12426 ark
-12431 arlene
-12432 arm
-12433 armed
-12434 armor
-12435 arms
-12436 army
-12441 arnold
-12442 aroma
-12443 arose
-12444 array
-12445 arrive
-12446 arrow
-12451 arson
-12452 art
-12453 artery
-12454 arthur
-12455 artie
-12456 arts
-12461 arty
-12462 aryan
-12463 as
-12464 asap
-12465 ascend
-12466 ascii
-12511 ash
-12512 ashen
-12513 ashes
-12514 ashley
-12515 ashy
-12516 asia
-12521 asian
-12522 aside
-12523 ask
-12524 asked
-12525 askew
-12526 asks
-12531 asleep
-12532 asp
-12533 aspen
-12534 aspire
-12535 ass
-12536 asses
-12541 asset
-12542 assn
-12543 assure
-12544 asthma
-12545 astor
-12546 astral
-12551 at
-12552 at&t
-12553 atari
-12554 ate
-12555 athens
-12556 atlas
-12561 atm
-12562 atoll
-12563 atom
-12564 atomic
-12565 atoms
-12566 atone
-12611 atop
-12612 attic
-12613 attire
-12614 attn
-12615 au
-12616 audio
-12621 audit
-12622 audrey
-12623 aug
-12624 augur
-12625 august
-12626 auk
-12631 aunt
-12632 aunts
-12633 aura
-12634 aural
-12635 austin
-12636 auto
-12641 autumn
-12642 av
-12643 avail
-12644 avert
-12645 avery
-12646 avian
-12651 aviate
-12652 avid
-12653 avis
-12654 avoid
-12655 avon
-12656 avow
-12661 aw
-12662 await
-12663 awake
-12664 award
-12665 aware
-12666 awash
-13111 away
-13112 awe
-13113 awed
-13114 awful
-13115 awl
-13116 awn
-13121 awoke
-13122 awol
-13123 awry
-13124 ax
-13125 axe
-13126 axes
-13131 axiom
-13132 axis
-13133 axle
-13134 ay
-13135 aye
-13136 az
-13141 aztec
-13142 azure
-13143 b
-13144 b&w
-13145 b's
-13146 b-52
-13151 ba
-13152 baal
-13153 babe
-13154 babel
-13155 babes
-13156 baboon
-13161 baby
-13162 bach
-13163 back
-13164 backup
-13165 bacon
-13166 bad
-13211 badge
-13212 badly
-13213 baffle
-13214 bag
-13215 bagel
-13216 baggy
-13221 bags
-13222 bah
-13223 bahama
-13224 bail
-13225 bait
-13226 bake
-13231 baker
-13232 bakes
-13233 bald
-13234 bale
-13235 bali
-13236 balk
-13241 balkan
-13242 ball
-13243 balled
-13244 ballot
-13245 balls
-13246 balm
-13251 balmy
-13252 balsa
-13253 bambi
-13254 ban
-13255 banal
-13256 banana
-13261 band
-13262 bandit
-13263 bands
-13264 bandy
-13265 bane
-13266 bang
-13311 bangs
-13312 banish
-13313 banjo
-13314 bank
-13315 banks
-13316 bar
-13321 barb
-13322 barbs
-13323 bard
-13324 bare
-13325 barf
-13326 barge
-13331 bark
-13332 barks
-13333 barley
-13334 barn
-13335 barnes
-13336 baron
-13341 barony
-13342 barry
-13343 bars
-13344 bart
-13345 barter
-13346 barton
-13351 base
-13352 bash
-13353 basic
-13354 basil
-13355 basin
-13356 basis
-13361 bask
-13362 basket
-13363 bass
-13364 baste
-13365 bat
-13366 batch
-13411 bates
-13412 bath
-13413 bathe
-13414 baths
-13415 baton
-13416 bats
-13421 bauble
-13422 baud
-13423 bawd
-13424 bawdy
-13425 bawl
-13426 bay
-13431 bayer
-13432 bayou
-13433 bays
-13434 bazaar
-13435 bb
-13436 bbb
-13441 bbbb
-13442 bbc
-13443 bbs
-13444 bc
-13445 bcd
-13446 bd
-13451 be
-13452 beach
-13453 beacon
-13454 bead
-13455 beads
-13456 beady
-13461 beak
-13462 beam
-13463 beams
-13464 bean
-13465 beans
-13466 bear
-13511 beard
-13512 bears
-13513 beast
-13514 beat
-13515 beats
-13516 beau
-13521 beauty
-13522 beaver
-13523 bebop
-13524 beck
-13525 becky
-13526 bed
-13531 beds
-13532 bee
-13533 beech
-13534 beef
-13535 beefy
-13536 been
-13541 beep
-13542 beeps
-13543 beer
-13544 beers
-13545 bees
-13546 beet
-13551 beets
-13552 befall
-13553 befit
-13554 befog
-13555 beg
-13556 began
-13561 beget
-13562 beggar
-13563 begin
-13564 begs
-13565 begun
-13566 behind
-13611 beige
-13612 being
-13613 beirut
-13614 belch
-13615 belfry
-13616 belief
-13621 bell
-13622 bella
-13623 belle
-13624 bellow
-13625 bells
-13626 belly
-13631 below
-13632 belt
-13633 belts
-13634 bemoan
-13635 ben
-13636 bench
-13641 bend
-13642 bender
-13643 bends
-13644 benign
-13645 benny
-13646 bent
-13651 benz
-13652 beret
-13653 berg
-13654 berlin
-13655 berra
-13656 berry
-13661 bert
-13662 berth
-13663 beryl
-13664 beset
-13665 bess
-13666 best
-14111 bet
-14112 beta
-14113 beth
-14114 betray
-14115 bets
-14116 betsy
-14121 bette
-14122 betty
-14123 bevy
-14124 beware
-14125 beyond
-14126 bf
-14131 bflat
-14132 bg
-14133 bh
-14134 bi
-14135 bias
-14136 bib
-14141 bible
-14142 biceps
-14143 bid
-14144 bide
-14145 bids
-14146 bier
-14151 big
-14152 bigamy
-14153 bigot
-14154 bike
-14155 biker
-14156 bikini
-14161 bile
-14162 bilge
-14163 bilk
-14164 bill
-14165 bills
-14166 billy
-14211 bimbo
-14212 bin
-14213 binary
-14214 bind
-14215 binge
-14216 bingo
-14221 biped
-14222 birch
-14223 bird
-14224 birdie
-14225 birds
-14226 birth
-14231 bison
-14232 bisque
-14233 bit
-14234 bite
-14235 bites
-14236 bits
-14241 bitten
-14242 biz
-14243 bj
-14244 bk
-14245 bl
-14246 blab
-14251 black
-14252 blade
-14253 blah
-14254 blair
-14255 blake
-14256 blame
-14261 bland
-14262 blank
-14263 blare
-14264 blast
-14265 blat
-14266 blaze
-14311 bldg
-14312 bleak
-14313 bleat
-14314 bled
-14315 bleed
-14316 blend
-14321 bless
-14322 blew
-14323 blimp
-14324 blind
-14325 blink
-14326 blip
-14331 blips
-14332 bliss
-14333 blithe
-14334 blitz
-14335 bloat
-14336 blob
-14341 blobs
-14342 bloc
-14343 block
-14344 bloke
-14345 blond
-14346 blonde
-14351 blood
-14352 bloom
-14353 bloop
-14354 blot
-14355 blotch
-14356 blots
-14361 blow
-14362 blown
-14363 blows
-14364 blt
-14365 blue
-14366 blues
-14411 bluff
-14412 blunt
-14413 blur
-14414 blurs
-14415 blurt
-14416 blush
-14421 blvd
-14422 blythe
-14423 bm
-14424 bmw
-14425 bn
-14426 bo
-14431 boa
-14432 boar
-14433 board
-14434 boast
-14435 boat
-14436 boats
-14441 bob
-14442 bobby
-14443 bobcat
-14444 bobs
-14445 bode
-14446 body
-14451 bog
-14452 bogey
-14453 boggy
-14454 bogs
-14455 bogus
-14456 boil
-14461 boils
-14462 boise
-14463 bold
-14464 bolt
-14465 bolts
-14466 bomb
-14511 bombay
-14512 bombs
-14513 bond
-14514 bone
-14515 bones
-14516 bong
-14521 bongo
-14522 bonn
-14523 bonus
-14524 bony
-14525 boo
-14526 boob
-14531 booby
-14532 boogie
-14533 book
-14534 books
-14535 boom
-14536 boon
-14541 boone
-14542 boor
-14543 boost
-14544 boot
-14545 booth
-14546 boots
-14551 booty
-14552 booze
-14553 bop
-14554 borax
-14555 border
-14556 bore
-14561 bored
-14562 bores
-14563 borg
-14564 boris
-14565 born
-14566 borneo
-14611 boron
-14612 bosom
-14613 boss
-14614 bossy
-14615 boston
-14616 botch
-14621 both
-14622 bottle
-14623 bough
-14624 bouncy
-14625 bound
-14626 bout
-14631 bovine
-14632 bow
-14633 bowed
-14634 bowel
-14635 bowie
-14636 bowl
-14641 bowls
-14642 bows
-14643 box
-14644 boxed
-14645 boxer
-14646 boxes
-14651 boxy
-14652 boy
-14653 boyd
-14654 boyle
-14655 boys
-14656 bozo
-14661 bp
-14662 bq
-14663 br
-14664 bra
-14665 brace
-14666 brad
-15111 brady
-15112 brag
-15113 brags
-15114 braid
-15115 brain
-15116 brainy
-15121 brake
-15122 bran
-15123 brand
-15124 brandy
-15125 brash
-15126 brass
-15131 brassy
-15132 brat
-15133 brats
-15134 brave
-15135 bravo
-15136 brawl
-15141 brawn
-15142 bray
-15143 brazil
-15144 bread
-15145 break
-15146 breath
-15151 bred
-15152 breed
-15153 breeze
-15154 brew
-15155 brian
-15156 briar
-15161 bribe
-15162 brick
-15163 bride
-15164 bridge
-15165 brief
-15166 brig
-15211 brim
-15212 brine
-15213 bring
-15214 brink
-15215 briny
-15216 brisk
-15221 broad
-15222 broil
-15223 broke
-15224 broken
-15225 bronco
-15226 bronx
-15231 brood
-15232 brook
-15233 broom
-15234 broth
-15235 brow
-15236 brown
-15241 brows
-15242 browse
-15243 bruce
-15244 bruin
-15245 brunch
-15246 bruno
-15251 brunt
-15252 brush
-15253 brutal
-15254 brute
-15255 bryan
-15256 bs
-15261 bt
-15262 btu
-15263 bu
-15264 bub
-15265 buck
-15266 bucks
-15311 bud
-15312 buddha
-15313 buddy
-15314 budge
-15315 buds
-15316 buff
-15321 bug
-15322 buggy
-15323 bugle
-15324 bugs
-15325 buick
-15326 build
-15331 built
-15332 bulb
-15333 bulbs
-15334 bulge
-15335 bulk
-15336 bulky
-15341 bull
-15342 bulls
-15343 bully
-15344 bum
-15345 bump
-15346 bumps
-15351 bumpy
-15352 bums
-15353 bun
-15354 bunch
-15355 bunco
-15356 bundy
-15361 bunk
-15362 bunny
-15363 buns
-15364 bunt
-15365 bunts
-15366 buoy
-15411 bureau
-15412 burg
-15413 burger
-15414 buried
-15415 burke
-15416 burly
-15421 burma
-15422 burn
-15423 burns
-15424 burnt
-15425 burp
-15426 burps
-15431 burro
-15432 burst
-15433 burt
-15434 burton
-15435 bury
-15436 bus
-15441 bush
-15442 bushel
-15443 bushy
-15444 buss
-15445 bust
-15446 busy
-15451 but
-15452 butane
-15453 butch
-15454 butt
-15455 butte
-15456 buxom
-15461 buy
-15462 buyer
-15463 buys
-15464 buzz
-15465 bv
-15466 bvm
-15511 bw
-15512 bwana
-15513 bx
-15514 by
-15515 bye
-15516 bylaw
-15521 byline
-15522 byob
-15523 bypass
-15524 byrd
-15525 byron
-15526 byte
-15531 bytes
-15532 byway
-15533 bz
-15534 c
-15535 c#
-15536 c&w
-15541 c's
-15542 c/o
-15543 ca
-15544 cab
-15545 cabal
-15546 cabana
-15551 cabin
-15552 cable
-15553 cabot
-15554 cache
-15555 cackle
-15556 cacti
-15561 caddy
-15562 cadet
-15563 caesar
-15564 cafe
-15565 cage
-15566 caged
-15611 cages
-15612 cagey
-15613 cain
-15614 cairn
-15615 cairo
-15616 cajun
-15621 cake
-15622 cakes
-15623 calf
-15624 calico
-15625 call
-15626 calls
-15631 callus
-15632 calm
-15633 calms
-15634 calvin
-15635 cam
-15636 came
-15641 camel
-15642 cameo
-15643 camera
-15644 camp
-15645 camps
-15646 camry
-15651 can
-15652 can't
-15653 canal
-15654 canary
-15655 cancer
-15656 candle
-15661 candy
-15662 cane
-15663 caned
-15664 canes
-15665 cannot
-15666 canny
-16111 canoe
-16112 canon
-16113 canopy
-16114 cans
-16115 canto
-16116 canvas
-16121 canyon
-16122 cap
-16123 cape
-16124 caped
-16125 caper
-16126 capri
-16131 car
-16132 carat
-16133 carbon
-16134 card
-16135 care
-16136 cares
-16141 caress
-16142 caret
-16143 cargo
-16144 carl
-16145 carla
-16146 carlo
-16151 carol
-16152 carp
-16153 carpet
-16154 carrie
-16155 carry
-16156 cars
-16161 carson
-16162 cart
-16163 caruso
-16164 carve
-16165 case
-16166 cases
-16211 casey
-16212 cash
-16213 cashew
-16214 cask
-16215 casket
-16216 cast
-16221 caste
-16222 cat
-16223 catch
-16224 cater
-16225 cathy
-16226 cats
-16231 catsup
-16232 catty
-16233 caulk
-16234 cause
-16235 cave
-16236 cavern
-16241 caves
-16242 cavort
-16243 cb
-16244 cc
-16245 ccc
-16246 cccc
-16251 cccp
-16252 cd
-16253 cde
-16254 ce
-16255 cease
-16256 cecil
-16261 cedar
-16262 cede
-16263 celery
-16264 celia
-16265 cell
-16266 cello
-16311 census
-16312 cent
-16313 cents
-16314 ceo
-16315 cesar
-16316 cf
-16321 cg
-16322 ch
-16323 chad
-16324 chafe
-16325 chaff
-16326 chain
-16331 chair
-16332 chalk
-16333 champ
-16334 chance
-16335 chant
-16336 chaos
-16341 chap
-16342 chapel
-16343 char
-16344 charm
-16345 chart
-16346 chase
-16351 chasm
-16352 chaste
-16353 chat
-16354 chats
-16355 cheap
-16356 cheat
-16361 check
-16362 cheek
-16363 cheeky
-16364 cheer
-16365 chef
-16366 cherub
-16411 chess
-16412 chest
-16413 chevy
-16414 chew
-16415 chews
-16416 chewy
-16421 chi
-16422 chic
-16423 chick
-16424 chide
-16425 chief
-16426 child
-16431 chile
-16432 chili
-16433 chill
-16434 chilly
-16435 chime
-16436 chimp
-16441 chin
-16442 china
-16443 chip
-16444 chips
-16445 chirp
-16446 chisel
-16451 chit
-16452 chive
-16453 chloe
-16454 chock
-16455 choir
-16456 choke
-16461 chomp
-16462 chop
-16463 chopin
-16464 chops
-16465 choral
-16466 chord
-16511 chore
-16512 chose
-16513 chosen
-16514 chow
-16515 chris
-16516 chub
-16521 chuck
-16522 chug
-16523 chum
-16524 chump
-16525 chunk
-16526 churn
-16531 chute
-16532 ci
-16533 cia
-16534 ciao
-16535 cicada
-16536 cider
-16541 cigar
-16542 cilia
-16543 cinch
-16544 cindy
-16545 cipher
-16546 circa
-16551 circe
-16552 cite
-16553 citrus
-16554 city
-16555 civet
-16556 civic
-16561 civil
-16562 cj
-16563 ck
-16564 cl
-16565 clad
-16566 claim
-16611 clam
-16612 clammy
-16613 clamp
-16614 clan
-16615 clang
-16616 clank
-16621 clap
-16622 claps
-16623 clara
-16624 clark
-16625 clash
-16626 clasp
-16631 class
-16632 claus
-16633 clause
-16634 claw
-16635 claws
-16636 clay
-16641 clean
-16642 clear
-16643 cleat
-16644 clef
-16645 cleft
-16646 clem
-16651 cleo
-16652 clerk
-16653 clever
-16654 cliche
-16655 click
-16656 cliff
-16661 climb
-16662 cling
-16663 clink
-16664 clip
-16665 cloak
-16666 clock
-21111 clod
-21112 clog
-21113 clone
-21114 close
-21115 closet
-21116 clot
-21121 cloth
-21122 cloud
-21123 clout
-21124 clove
-21125 clown
-21126 cloy
-21131 club
-21132 clubs
-21133 cluck
-21134 clue
-21135 clues
-21136 clump
-21141 clumsy
-21142 clung
-21143 clyde
-21144 cm
-21145 cn
-21146 co
-21151 co2
-21152 coach
-21153 coal
-21154 coast
-21155 coat
-21156 coats
-21161 coax
-21162 cob
-21163 cobble
-21164 cobol
-21165 cobra
-21166 coca
-21211 cock
-21212 cockle
-21213 cocky
-21214 cocoa
-21215 cod
-21216 coda
-21221 coddle
-21222 code
-21223 coded
-21224 codes
-21225 cody
-21226 coed
-21231 cog
-21232 cogent
-21233 cogs
-21234 cohen
-21235 coif
-21236 coil
-21241 coils
-21242 coin
-21243 coins
-21244 coke
-21245 cola
-21246 colby
-21251 cold
-21252 cole
-21253 colon
-21254 colony
-21255 color
-21256 colt
-21261 coma
-21262 comb
-21263 combat
-21264 combo
-21265 come
-21266 comet
-21311 comfy
-21312 comic
-21313 comma
-21314 con
-21315 conch
-21316 condo
-21321 cone
-21322 coney
-21323 congo
-21324 conic
-21325 convex
-21326 convoy
-21331 conway
-21332 coo
-21333 cook
-21334 cooky
-21335 cool
-21336 coon
-21341 coop
-21342 cooper
-21343 coors
-21344 coos
-21345 coot
-21346 cop
-21351 cope
-21352 copes
-21353 copper
-21354 copra
-21355 cops
-21356 copy
-21361 coral
-21362 cord
-21363 cords
-21364 core
-21365 cork
-21366 corn
-21411 corny
-21412 corp
-21413 corps
-21414 cortex
-21415 cost
-21416 costs
-21421 cot
-21422 couch
-21423 cough
-21424 could
-21425 count
-21426 coup
-21431 coupe
-21432 court
-21433 cousin
-21434 cove
-21435 coven
-21436 cover
-21441 covet
-21442 cow
-21443 cowboy
-21444 cowl
-21445 cows
-21446 cox
-21451 coy
-21452 coyote
-21453 cozy
-21454 cp
-21455 cpa
-21456 cpr
-21461 cpu
-21462 cq
-21463 cr
-21464 crab
-21465 crack
-21466 craft
-21511 crag
-21512 craig
-21513 cram
-21514 cramp
-21515 crane
-21516 crank
-21521 crap
-21522 craps
-21523 crash
-21524 crass
-21525 crate
-21526 crater
-21531 crave
-21532 crawl
-21533 craze
-21534 crazy
-21535 creak
-21536 cream
-21541 credit
-21542 credo
-21543 creed
-21544 creek
-21545 creep
-21546 creole
-21551 crepe
-21552 crept
-21553 cress
-21554 crest
-21555 crete
-21556 crew
-21561 crib
-21562 cried
-21563 crime
-21564 crimp
-21565 crisp
-21566 croak
-21611 crock
-21612 crocus
-21613 crone
-21614 crony
-21615 crook
-21616 croon
-21621 crop
-21622 crops
-21623 cross
-21624 crow
-21625 crowd
-21626 crown
-21631 crows
-21632 crt
-21633 crud
-21634 crude
-21635 cruel
-21636 crumb
-21641 crunch
-21642 crush
-21643 crust
-21644 crux
-21645 cry
-21646 crypt
-21651 cs
-21652 ct
-21653 cu
-21654 cub
-21655 cuba
-21656 cuban
-21661 cube
-21662 cubic
-21663 cubs
-21664 cud
-21665 cuddle
-21666 cue
-22111 cues
-22112 cuff
-22113 cull
-22114 cult
-22115 cults
-22116 cup
-22121 cupful
-22122 cupid
-22123 cups
-22124 cur
-22125 curb
-22126 curd
-22131 cure
-22132 cured
-22133 curfew
-22134 curie
-22135 curio
-22136 curl
-22141 curls
-22142 curry
-22143 curse
-22144 curt
-22145 curve
-22146 cusp
-22151 cuss
-22152 cut
-22153 cute
-22154 cutlet
-22155 cuts
-22156 cv
-22161 cw
-22162 cx
-22163 cy
-22164 cycle
-22165 cynic
-22166 cyrus
-22211 cyst
-22212 cz
-22213 czar
-22214 czech
-22215 d
-22216 d&d
-22221 d's
-22222 d-day
-22223 da
-22224 dab
-22225 dad
-22226 daddy
-22231 daffy
-22232 daft
-22233 dagger
-22234 dahlia
-22235 daily
-22236 dairy
-22241 dais
-22242 daisy
-22243 dale
-22244 dally
-22245 dam
-22246 dame
-22251 damn
-22252 damon
-22253 damp
-22254 damsel
-22255 dan
-22256 dana
-22261 dance
-22262 dandy
-22263 dane
-22264 dang
-22265 dank
-22266 danny
-22311 dante
-22312 dare
-22313 dared
-22314 dares
-22315 dark
-22316 darken
-22321 darn
-22322 dart
-22323 darts
-22324 darwin
-22325 daryl
-22326 dash
-22331 data
-22332 date
-22333 dates
-22334 datum
-22335 daub
-22336 daunt
-22341 dave
-22342 david
-22343 davis
-22344 davy
-22345 dawn
-22346 day
-22351 days
-22352 daze
-22353 dazed
-22354 db
-22355 dbms
-22356 dc
-22361 dd
-22362 ddd
-22363 dddd
-22364 dds
-22365 ddt
-22366 de
-22411 deacon
-22412 dead
-22413 deaf
-22414 deal
-22415 deals
-22416 dealt
-22421 dean
-22422 dear
-22423 death
-22424 debby
-22425 debit
-22426 debra
-22431 debris
-22432 debt
-22433 debts
-22434 debug
-22435 debut
-22436 dec
-22441 decal
-22442 decay
-22443 deck
-22444 decor
-22445 decoy
-22446 decree
-22451 decry
-22452 dee
-22453 deed
-22454 deeds
-22455 deejay
-22456 deem
-22461 deep
-22462 deer
-22463 def
-22464 defect
-22465 defer
-22466 deform
-22511 deft
-22512 defy
-22513 deify
-22514 deity
-22515 del
-22516 delay
-22521 delhi
-22522 deli
-22523 delia
-22524 della
-22525 delta
-22526 deluxe
-22531 delve
-22532 demo
-22533 demon
-22534 demur
-22535 den
-22536 denial
-22541 denim
-22542 denny
-22543 dense
-22544 dent
-22545 dents
-22546 deny
-22551 depot
-22552 dept
-22553 depth
-22554 deputy
-22555 derby
-22556 derek
-22561 desist
-22562 desk
-22563 desks
-22564 detach
-22565 deter
-22566 detox
-22611 deuce
-22612 devil
-22613 devoid
-22614 dew
-22615 dewey
-22616 dewy
-22621 df
-22622 dg
-22623 dh
-22624 di
-22625 dial
-22626 dials
-22631 diana
-22632 diane
-22633 diaper
-22634 diary
-22635 dibs
-22636 dice
-22641 dick
-22642 did
-22643 die
-22644 died
-22645 diego
-22646 dies
-22651 diesel
-22652 diet
-22653 diets
-22654 dig
-22655 digit
-22656 digs
-22661 dike
-22662 dilate
-22663 dill
-22664 dim
-22665 dime
-22666 dimes
-23111 dimly
-23112 dims
-23113 din
-23114 dinah
-23115 dine
-23116 diner
-23121 ding
-23122 dingo
-23123 dingy
-23124 dint
-23125 diode
-23126 dip
-23131 dips
-23132 dire
-23133 dirge
-23134 dirk
-23135 dirt
-23136 dirty
-23141 disc
-23142 disco
-23143 dish
-23144 disk
-23145 disney
-23146 ditch
-23151 ditto
-23152 ditty
-23153 diva
-23154 divan
-23155 dive
-23156 dives
-23161 divot
-23162 dixie
-23163 dizzy
-23164 dj
-23165 dk
-23166 dl
-23211 dm
-23212 dn
-23213 dna
-23214 do
-23215 dobro
-23216 doc
-23221 dock
-23222 docket
-23223 doctor
-23224 dodge
-23225 dodo
-23226 doe
-23231 does
-23232 doff
-23233 dog
-23234 dogma
-23235 dogs
-23236 doily
-23241 doing
-23242 dolby
-23243 dole
-23244 doll
-23245 dolly
-23246 dolt
-23251 dome
-23252 domed
-23253 domino
-23254 don
-23255 don't
-23256 done
-23261 donna
-23262 donor
-23263 donut
-23264 doom
-23265 door
-23266 dope
-23311 dopey
-23312 dora
-23313 doris
-23314 dorm
-23315 dose
-23316 dot
-23321 dote
-23322 dots
-23323 double
-23324 doubt
-23325 doug
-23326 dough
-23331 douse
-23332 dove
-23333 doves
-23334 dowel
-23335 down
-23336 dowry
-23341 doze
-23342 dozen
-23343 dp
-23344 dq
-23345 dr
-23346 drab
-23351 draft
-23352 drag
-23353 drain
-23354 drake
-23355 drama
-23356 drank
-23361 drape
-23362 draw
-23363 drawl
-23364 drawn
-23365 dread
-23366 dream
-23411 dreamy
-23412 dregs
-23413 dress
-23414 dressy
-23415 drew
-23416 dried
-23421 drier
-23422 dries
-23423 drift
-23424 drill
-23425 drink
-23426 drip
-23431 drips
-23432 drive
-23433 droid
-23434 droll
-23435 drone
-23436 drool
-23441 droop
-23442 drop
-23443 drops
-23444 drove
-23445 drown
-23446 dru
-23451 drub
-23452 drug
-23453 drugs
-23454 druid
-23455 drum
-23456 drums
-23461 drunk
-23462 dry
-23463 dryad
-23464 ds
-23465 dt
-23466 du
-23511 dual
-23512 duane
-23513 dub
-23514 dublin
-23515 duck
-23516 ducks
-23521 duct
-23522 dud
-23523 dude
-23524 due
-23525 duel
-23526 dues
-23531 duet
-23532 duff
-23533 dug
-23534 duke
-23535 dull
-23536 dully
-23541 duly
-23542 dumb
-23543 dumbo
-23544 dummy
-23545 dump
-23546 dumps
-23551 dumpy
-23552 dun
-23553 dunce
-23554 dune
-23555 dung
-23556 dunk
-23561 duo
-23562 dupe
-23563 during
-23564 dusk
-23565 dusky
-23566 dust
-23611 dusty
-23612 dutch
-23613 duty
-23614 dv
-23615 dw
-23616 dwarf
-23621 dwell
-23622 dwelt
-23623 dwight
-23624 dx
-23625 dy
-23626 dyad
-23631 dye
-23632 dyed
-23633 dying
-23634 dylan
-23635 dynamo
-23636 dz
-23641 e
-23642 e's
-23643 ea
-23644 each
-23645 eager
-23646 eagle
-23651 ear
-23652 earl
-23653 early
-23654 earn
-23655 earns
-23656 ears
-23661 earth
-23662 ease
-23663 easel
-23664 east
-23665 easy
-23666 eat
-24111 eaten
-24112 eater
-24113 eats
-24114 eave
-24115 eaves
-24116 eb
-24121 ebb
-24122 ebony
-24123 ec
-24124 echo
-24125 ed
-24126 eddie
-24131 eddy
-24132 eden
-24133 edgar
-24134 edge
-24135 edges
-24136 edgy
-24141 edible
-24142 edict
-24143 edify
-24144 edit
-24145 edith
-24146 editor
-24151 edits
-24152 edna
-24153 edsel
-24154 edwin
-24155 ee
-24156 eee
-24161 eeee
-24162 eeg
-24163 eel
-24164 eerie
-24165 ef
-24166 efface
-24211 efg
-24212 eflat
-24213 eft
-24214 eg
-24215 egg
-24216 eggs
-24221 ego
-24222 egress
-24223 egret
-24224 egypt
-24225 eh
-24226 ei
-24231 eight
-24232 ej
-24233 eject
-24234 ek
-24235 ekg
-24236 el
-24241 elate
-24242 elbow
-24243 elder
-24244 elect
-24245 elegy
-24246 elena
-24251 eleven
-24252 elf
-24253 elfin
-24254 eli
-24255 elide
-24256 eliot
-24261 elite
-24262 eliza
-24263 elk
-24264 elks
-24265 ella
-24266 ellen
-24311 elm
-24312 elmer
-24313 elms
-24314 elope
-24315 elroy
-24316 else
-24321 elsie
-24322 elton
-24323 elude
-24324 elves
-24325 elvis
-24326 ely
-24331 em
-24332 email
-24333 embalm
-24334 embed
-24335 ember
-24336 emcee
-24341 emery
-24342 emil
-24343 emile
-24344 emily
-24345 emit
-24346 emits
-24351 emma
-24352 emmy
-24353 emote
-24354 employ
-24355 empty
-24356 emu
-24361 en
-24362 enact
-24363 enamel
-24364 end
-24365 ended
-24366 endow
-24411 ends
-24412 enema
-24413 enemy
-24414 enigma
-24415 enjoy
-24416 enmity
-24421 ennui
-24422 enoch
-24423 ensue
-24424 enter
-24425 entrap
-24426 entry
-24431 envoy
-24432 envy
-24433 eo
-24434 eon
-24435 eons
-24436 ep
-24441 epic
-24442 epics
-24443 epoch
-24444 epoxy
-24445 epsom
-24446 eq
-24451 equal
-24452 equip
-24453 er
-24454 era
-24455 erase
-24456 erect
-24461 ergo
-24462 eric
-24463 erica
-24464 erie
-24465 erik
-24466 erin
-24511 ernest
-24512 ernie
-24513 erode
-24514 eros
-24515 err
-24516 errand
-24521 errol
-24522 error
-24523 erupt
-24524 es
-24525 esp
-24526 espy
-24531 esq
-24532 essay
-24533 ester
-24534 et
-24535 eta
-24536 etc
-24541 etch
-24542 ethel
-24543 ether
-24544 ethic
-24545 ethos
-24546 ethyl
-24551 etude
-24552 eu
-24553 eureka
-24554 ev
-24555 eva
-24556 evade
-24561 evans
-24562 eve
-24563 even
-24564 event
-24565 ever
-24566 every
-24611 evict
-24612 evil
-24613 evita
-24614 evoke
-24615 evolve
-24616 ew
-24621 ewe
-24622 ex
-24623 exact
-24624 exalt
-24625 exam
-24626 exams
-24631 excel
-24632 excess
-24633 exec
-24634 exert
-24635 exile
-24636 exist
-24641 exit
-24642 exits
-24643 exodus
-24644 expel
-24645 expo
-24646 extant
-24651 extent
-24652 extol
-24653 extra
-24654 exult
-24655 exxon
-24656 ey
-24661 eye
-24662 eyed
-24663 eyes
-24664 ez
-24665 ezra
-24666 f
-25111 f#
-25112 f's
-25113 fa
-25114 fable
-25115 fabric
-25116 face
-25121 faces
-25122 facet
-25123 facile
-25124 fact
-25125 facts
-25126 fad
-25131 fade
-25132 fads
-25133 fail
-25134 faint
-25135 fair
-25136 fairy
-25141 faith
-25142 fake
-25143 faker
-25144 fall
-25145 false
-25146 fame
-25151 fan
-25152 fancy
-25153 fang
-25154 fangs
-25155 fanny
-25156 fans
-25161 far
-25162 farce
-25163 fare
-25164 farm
-25165 farms
-25166 fast
-25211 fat
-25212 fatal
-25213 fate
-25214 father
-25215 fats
-25216 fatty
-25221 fault
-25222 fauna
-25223 faust
-25224 faux
-25225 fawn
-25226 fax
-25231 faze
-25232 fb
-25233 fbi
-25234 fc
-25235 fd
-25236 fe
-25241 fear
-25242 fears
-25243 feast
-25244 feat
-25245 feb
-25246 fed
-25251 fee
-25252 feeble
-25253 feed
-25254 feeds
-25255 feel
-25256 feels
-25261 fees
-25262 feet
-25263 feign
-25264 feint
-25265 felice
-25266 felix
-25311 fell
-25312 felon
-25313 felt
-25314 femur
-25315 fence
-25316 fend
-25321 fern
-25322 ferry
-25323 fetal
-25324 fetch
-25325 fete
-25326 fetid
-25331 fetus
-25332 feud
-25333 fever
-25334 few
-25335 fez
-25336 ff
-25341 fff
-25342 ffff
-25343 fg
-25344 fgh
-25345 fh
-25346 fi
-25351 fiat
-25352 fib
-25353 fiber
-25354 fickle
-25355 fido
-25356 field
-25361 fiend
-25362 fiery
-25363 fife
-25364 fifth
-25365 fifty
-25366 fig
-25411 fight
-25412 figs
-25413 fiji
-25414 filch
-25415 file
-25416 filed
-25421 files
-25422 filet
-25423 fill
-25424 filler
-25425 filly
-25426 film
-25431 films
-25432 filmy
-25433 filth
-25434 fin
-25435 final
-25436 finale
-25441 finch
-25442 find
-25443 fine
-25444 fined
-25445 finer
-25446 finite
-25451 fink
-25452 finn
-25453 finny
-25454 fir
-25455 fire
-25456 firm
-25461 first
-25462 fish
-25463 fishy
-25464 fist
-25465 fit
-25466 fits
-25511 five
-25512 fix
-25513 fixed
-25514 fizz
-25515 fj
-25516 fjord
-25521 fk
-25522 fl
-25523 flab
-25524 flag
-25525 flail
-25526 flair
-25531 flak
-25532 flake
-25533 flaky
-25534 flame
-25535 flank
-25536 flap
-25541 flare
-25542 flash
-25543 flask
-25544 flat
-25545 flavor
-25546 flaw
-25551 flax
-25552 flay
-25553 flea
-25554 fled
-25555 flee
-25556 fleet
-25561 flesh
-25562 flew
-25563 flex
-25564 flick
-25565 flier
-25566 flies
-25611 flinch
-25612 fling
-25613 flint
-25614 flip
-25615 flirt
-25616 flit
-25621 flo
-25622 float
-25623 flock
-25624 flog
-25625 flood
-25626 floor
-25631 flop
-25632 floppy
-25633 flora
-25634 flour
-25635 flow
-25636 flown
-25641 floyd
-25642 flu
-25643 flub
-25644 flue
-25645 fluff
-25646 fluid
-25651 fluke
-25652 flung
-25653 flush
-25654 flute
-25655 flux
-25656 fly
-25661 flyer
-25662 fm
-25663 fn
-25664 fo
-25665 foal
-25666 foam
-26111 foamy
-26112 fob
-26113 focal
-26114 focus
-26115 fodder
-26116 foe
-26121 foes
-26122 fog
-26123 foggy
-26124 fogy
-26125 foil
-26126 foist
-26131 fold
-26132 folio
-26133 folk
-26134 folly
-26135 fond
-26136 font
-26141 food
-26142 fool
-26143 foot
-26144 fop
-26145 for
-26146 foray
-26151 force
-26152 ford
-26153 fore
-26154 forge
-26155 forgot
-26156 fork
-26161 form
-26162 forms
-26163 fort
-26164 forte
-26165 forth
-26166 forty
-26211 forum
-26212 fossil
-26213 foul
-26214 found
-26215 fount
-26216 four
-26221 fowl
-26222 fox
-26223 foxes
-26224 foxy
-26225 foyer
-26226 fp
-26231 fq
-26232 fr
-26233 frail
-26234 frame
-26235 france
-26236 frank
-26241 franz
-26242 frau
-26243 fraud
-26244 fray
-26245 freak
-26246 fred
-26251 free
-26252 freed
-26253 freer
-26254 frenzy
-26255 freon
-26256 fresh
-26261 fret
-26262 freud
-26263 fri
-26264 friar
-26265 fried
-26266 fries
-26311 frill
-26312 frilly
-26313 frisky
-26314 fritz
-26315 frock
-26316 frog
-26321 frogs
-26322 from
-26323 frond
-26324 front
-26325 frost
-26326 froth
-26331 frown
-26332 froze
-26333 fruit
-26334 fry
-26335 fs
-26336 ft
-26341 fu
-26342 fudge
-26343 fuel
-26344 fugue
-26345 fuji
-26346 full
-26351 fully
-26352 fumble
-26353 fume
-26354 fumes
-26355 fun
-26356 fund
-26361 funds
-26362 fungi
-26363 funk
-26364 funky
-26365 funny
-26366 fur
-26411 furl
-26412 furry
-26413 furs
-26414 fury
-26415 fuse
-26416 fuss
-26421 fussy
-26422 fuzz
-26423 fuzzy
-26424 fv
-26425 fw
-26426 fx
-26431 fy
-26432 fyi
-26433 fz
-26434 g
-26435 g's
-26436 ga
-26441 gab
-26442 gable
-26443 gadget
-26444 gaea
-26445 gaffe
-26446 gag
-26451 gags
-26452 gail
-26453 gaily
-26454 gain
-26455 gait
-26456 gal
-26461 gala
-26462 galaxy
-26463 gale
-26464 gall
-26465 gallop
-26466 gam
-26511 game
-26512 games
-26513 gamma
-26514 gamut
-26515 gamy
-26516 gander
-26521 gang
-26522 gangs
-26523 gap
-26524 gape
-26525 gapes
-26526 gaps
-26531 garb
-26532 gargle
-26533 garish
-26534 gary
-26535 gas
-26536 gash
-26541 gasp
-26542 gasps
-26543 gassy
-26544 gate
-26545 gates
-26546 gator
-26551 gauche
-26552 gaudy
-26553 gauge
-26554 gaunt
-26555 gauze
-26556 gave
-26561 gavel
-26562 gawk
-26563 gawky
-26564 gay
-26565 gaze
-26566 gazed
-26611 gazes
-26612 gb
-26613 gc
-26614 gd
-26615 ge
-26616 gear
-26621 gears
-26622 gee
-26623 geese
-26624 gel
-26625 geld
-26626 gem
-26631 gems
-26632 gene
-26633 genes
-26634 genie
-26635 genre
-26636 gent
-26641 gentry
-26642 geo
-26643 gerbil
-26644 germ
-26645 germs
-26646 get
-26651 gets
-26652 gf
-26653 gg
-26654 ggg
-26655 gggg
-26656 gh
-26661 ghetto
-26662 ghi
-26663 ghost
-26664 ghoul
-26665 ghq
-26666 gi
-31111 giant
-31112 giddy
-31113 gift
-31114 gifts
-31115 gig
-31116 gil
-31121 gila
-31122 gild
-31123 gill
-31124 gills
-31125 gilt
-31126 gimme
-31131 gimpy
-31132 gin
-31133 gina
-31134 ginger
-31135 gino
-31136 gird
-31141 girl
-31142 girls
-31143 girth
-31144 gist
-31145 give
-31146 given
-31151 gives
-31152 gizmo
-31153 gj
-31154 gk
-31155 gl
-31156 glad
-31161 glade
-31162 glamor
-31163 glance
-31164 gland
-31165 glare
-31166 glass
-31211 glaze
-31212 gleam
-31213 glean
-31214 glee
-31215 glen
-31216 glenn
-31221 glib
-31222 glide
-31223 glint
-31224 gloat
-31225 glob
-31226 globe
-31231 gloom
-31232 glory
-31233 gloss
-31234 glove
-31235 glow
-31236 glows
-31241 glue
-31242 glued
-31243 gluey
-31244 gluing
-31245 glum
-31246 glut
-31251 gm
-31252 gmt
-31253 gn
-31254 gnash
-31255 gnat
-31256 gnaw
-31261 gnaws
-31262 gnome
-31263 gnp
-31264 gnu
-31265 go
-31266 goad
-31311 goal
-31312 goals
-31313 goat
-31314 goats
-31315 gob
-31316 god
-31321 godly
-31322 gods
-31323 goes
-31324 goggle
-31325 gogh
-31326 gogo
-31331 going
-31332 gold
-31333 golf
-31334 golly
-31335 gomez
-31336 gone
-31341 gong
-31342 goo
-31343 good
-31344 goods
-31345 goody
-31346 gooey
-31351 goof
-31352 goofy
-31353 goon
-31354 goose
-31355 gordon
-31356 gore
-31361 gorge
-31362 gory
-31363 gosh
-31364 gospel
-31365 got
-31366 gouge
-31411 gould
-31412 gourd
-31413 gout
-31414 govt
-31415 gown
-31416 gowns
-31421 gp
-31422 gpa
-31423 gq
-31424 gr
-31425 grab
-31426 grabs
-31431 grace
-31432 grad
-31433 grade
-31434 grady
-31435 graft
-31436 grail
-31441 grain
-31442 gram
-31443 grams
-31444 grand
-31445 grant
-31446 grape
-31451 graph
-31452 grasp
-31453 grass
-31454 grate
-31455 grave
-31456 gravel
-31461 gravy
-31462 gray
-31463 graze
-31464 great
-31465 greed
-31466 greedy
-31511 greek
-31512 green
-31513 greet
-31514 greg
-31515 greta
-31516 grew
-31521 grey
-31522 grid
-31523 grief
-31524 grieve
-31525 grill
-31526 grim
-31531 grime
-31532 grimy
-31533 grin
-31534 grind
-31535 grins
-31536 grip
-31541 gripe
-31542 grips
-31543 grist
-31544 grit
-31545 groan
-31546 grog
-31551 groin
-31552 groom
-31553 groove
-31554 grope
-31555 gross
-31556 group
-31561 grout
-31562 grove
-31563 grow
-31564 growl
-31565 grown
-31566 grows
-31611 grub
-31612 grubs
-31613 gruff
-31614 grunt
-31615 gs
-31616 gt
-31621 gu
-31622 guam
-31623 guano
-31624 guard
-31625 guess
-31626 guest
-31631 gui
-31632 guide
-31633 guild
-31634 guile
-31635 guilt
-31636 guise
-31641 guitar
-31642 gulag
-31643 gulf
-31644 gull
-31645 gulls
-31646 gully
-31651 gulp
-31652 gum
-31653 gumbo
-31654 gummy
-31655 gun
-31656 gunk
-31661 guns
-31662 guppy
-31663 gurgle
-31664 guru
-31665 gus
-31666 gush
-32111 gust
-32112 gusto
-32113 gusts
-32114 gusty
-32115 gut
-32116 guts
-32121 gutsy
-32122 guy
-32123 guys
-32124 gv
-32125 gw
-32126 gwen
-32131 gx
-32132 gy
-32133 gym
-32134 gyp
-32135 gypsum
-32136 gypsy
-32141 gyro
-32142 gz
-32143 h
-32144 h's
-32145 h2o
-32146 ha
-32151 habit
-32152 hack
-32153 had
-32154 hag
-32155 haha
-32156 haiku
-32161 hail
-32162 hair
-32163 hairdo
-32164 hairs
-32165 hairy
-32166 haiti
-32211 hal
-32212 half
-32213 hall
-32214 halls
-32215 halo
-32216 halt
-32221 halts
-32222 halve
-32223 ham
-32224 hamlet
-32225 hammer
-32226 hams
-32231 hand
-32232 handle
-32233 hands
-32234 handy
-32235 hang
-32236 hank
-32241 hanna
-32242 hans
-32243 happy
-32244 hard
-32245 hardy
-32246 hare
-32251 harem
-32252 hark
-32253 harley
-32254 harm
-32255 harms
-32256 harp
-32261 harps
-32262 harry
-32263 harsh
-32264 hart
-32265 harv
-32266 harvey
-32311 has
-32312 hash
-32313 hasp
-32314 haste
-32315 hasty
-32316 hat
-32321 hatch
-32322 hate
-32323 hates
-32324 hatred
-32325 hats
-32326 haul
-32331 hauls
-32332 haunt
-32333 have
-32334 haven
-32335 havoc
-32336 hawk
-32341 hawks
-32342 hay
-32343 haydn
-32344 hayes
-32345 hazard
-32346 haze
-32351 hazel
-32352 hazy
-32353 hb
-32354 hc
-32355 hd
-32356 hdtv
-32361 he
-32362 he'd
-32363 he'll
-32364 head
-32365 heads
-32366 heady
-32411 heal
-32412 heals
-32413 heap
-32414 heaps
-32415 hear
-32416 heard
-32421 hears
-32422 heart
-32423 heat
-32424 heath
-32425 heats
-32426 heave
-32431 heaven
-32432 heavy
-32433 hebrew
-32434 heck
-32435 heckle
-32436 hectic
-32441 hedge
-32442 heed
-32443 heel
-32444 heels
-32445 heft
-32446 hefty
-32451 height
-32452 heinz
-32453 heir
-32454 heirs
-32455 held
-32456 helen
-32461 helga
-32462 helix
-32463 hell
-32464 hello
-32465 helm
-32466 help
-32511 hem
-32512 hemp
-32513 hems
-32514 hen
-32515 hence
-32516 henry
-32521 hens
-32522 hep
-32523 her
-32524 herb
-32525 herbs
-32526 herd
-32531 here
-32532 hero
-32533 herod
-32534 heroic
-32535 heron
-32536 herr
-32541 hers
-32542 hertz
-32543 hew
-32544 hex
-32545 hexed
-32546 hey
-32551 hf
-32552 hg
-32553 hh
-32554 hhh
-32555 hhhh
-32556 hi
-32561 hick
-32562 hid
-32563 hide
-32564 hides
-32565 high
-32566 hij
-32611 hijack
-32612 hike
-32613 hikes
-32614 hill
-32615 hills
-32616 hilly
-32621 hilt
-32622 him
-32623 hind
-32624 hindu
-32625 hinge
-32626 hint
-32631 hints
-32632 hip
-32633 hippo
-32634 hips
-32635 hiram
-32636 hire
-32641 hired
-32642 hires
-32643 his
-32644 hiss
-32645 hit
-32646 hitch
-32651 hits
-32652 hiv
-32653 hive
-32654 hives
-32655 hj
-32656 hk
-32661 hl
-32662 hm
-32663 hn
-32664 ho
-32665 hoagy
-32666 hoard
-33111 hoax
-33112 hobby
-33113 hobo
-33114 hock
-33115 hockey
-33116 hoe
-33121 hog
-33122 hogan
-33123 hogs
-33124 hoist
-33125 hold
-33126 holds
-33131 holdup
-33132 hole
-33133 holes
-33134 holly
-33135 holmes
-33136 holy
-33141 home
-33142 honda
-33143 hone
-33144 honey
-33145 honk
-33146 honor
-33151 hooch
-33152 hood
-33153 hoof
-33154 hook
-33155 hooks
-33156 hookup
-33161 hoop
-33162 hoot
-33163 hop
-33164 hope
-33165 hopes
-33166 hops
-33211 horde
-33212 horn
-33213 horny
-33214 horse
-33215 hose
-33216 host
-33221 hot
-33222 hotel
-33223 hotrod
-33224 hound
-33225 hour
-33226 house
-33231 hovel
-33232 hover
-33233 how
-33234 howdy
-33235 howl
-33236 howls
-33241 hoyle
-33242 hp
-33243 hq
-33244 hr
-33245 hrh
-33246 hs
-33251 ht
-33252 hu
-33253 hub
-33254 hubbub
-33255 hubby
-33256 hubs
-33261 hue
-33262 hues
-33263 huey
-33264 huff
-33265 hug
-33266 huge
-33311 hugh
-33312 hugo
-33313 hugs
-33314 huh
-33315 hula
-33316 hulk
-33321 hull
-33322 hum
-33323 human
-33324 humid
-33325 humor
-33326 hump
-33331 humps
-33332 hums
-33333 humus
-33334 hun
-33335 hunch
-33336 hung
-33341 hunk
-33342 hunt
-33343 hunts
-33344 hurl
-33345 huron
-33346 hurrah
-33351 hurry
-33352 hurt
-33353 hush
-33354 husk
-33355 husky
-33356 hut
-33361 hutch
-33362 hv
-33363 hw
-33364 hwy
-33365 hx
-33366 hy
-33411 hyde
-33412 hydra
-33413 hyena
-33414 hymn
-33415 hymnal
-33416 hype
-33421 hyper
-33422 hypo
-33423 hz
-33424 i
-33425 i'd
-33426 i'll
-33431 i'm
-33432 i's
-33433 i've
-33434 ia
-33435 ian
-33436 ib
-33441 ibid
-33442 ibm
-33443 ibsen
-33444 ic
-33445 icbm
-33446 ice
-33451 iced
-33452 icicle
-33453 icing
-33454 icky
-33455 icon
-33456 icons
-33461 icy
-33462 id
-33463 ida
-33464 idaho
-33465 idea
-33466 ideal
-33511 ideas
-33512 idiom
-33513 idiot
-33514 idle
-33515 idly
-33516 idol
-33521 idols
-33522 ie
-33523 if
-33524 iffy
-33525 ig
-33526 igloo
-33531 ignite
-33532 igor
-33533 ih
-33534 ii
-33535 iii
-33536 iiii
-33541 ij
-33542 ijk
-33543 ik
-33544 ike
-33545 il
-33546 iliad
-33551 ill
-33552 im
-33553 image
-33554 imbibe
-33555 imf
-33556 imp
-33561 impel
-33562 imply
-33563 import
-33564 imps
-33565 in
-33566 inane
-33611 inc
-33612 inca
-33613 incest
-33614 inch
-33615 incur
-33616 index
-33621 india
-33622 indies
-33623 indy
-33624 inept
-33625 inert
-33626 infamy
-33631 infect
-33632 infer
-33633 info
-33634 ingot
-33635 inhale
-33636 ink
-33641 inky
-33642 inlay
-33643 inlet
-33644 inn
-33645 inner
-33646 inns
-33651 input
-33652 insect
-33653 inset
-33654 insult
-33655 intel
-33656 intend
-33661 inter
-33662 into
-33663 intro
-33664 invoke
-33665 io
-33666 ion
-34111 ions
-34112 iota
-34113 iou
-34114 iowa
-34115 ip
-34116 iq
-34121 ir
-34122 ira
-34123 iran
-34124 iraq
-34125 iraqi
-34126 irate
-34131 ire
-34132 irene
-34133 iris
-34134 irish
-34135 irk
-34136 irked
-34141 irma
-34142 iron
-34143 irons
-34144 irony
-34145 irvin
-34146 is
-34151 isaac
-34152 isabel
-34153 islam
-34154 island
-34155 isle
-34156 ism
-34161 isn't
-34162 israel
-34163 issue
-34164 isuzu
-34165 it
-34166 it'd
-34211 it'll
-34212 it's
-34213 italy
-34214 itch
-34215 itchy
-34216 item
-34221 items
-34222 iu
-34223 iud
-34224 iv
-34225 ivan
-34226 ivory
-34231 ivy
-34232 iw
-34233 ix
-34234 iy
-34235 iz
-34236 j
-34241 j's
-34242 ja
-34243 jab
-34244 jack
-34245 jackal
-34246 jacob
-34251 jade
-34252 jaded
-34253 jag
-34254 jaguar
-34255 jail
-34256 jam
-34261 jamb
-34262 james
-34263 jan
-34264 jane
-34265 janet
-34266 janis
-34311 japan
-34312 jar
-34313 jars
-34314 jason
-34315 jaunt
-34316 java
-34321 jaw
-34322 jaws
-34323 jay
-34324 jazz
-34325 jazzy
-34326 jb
-34331 jc
-34332 jd
-34333 je
-34334 jean
-34335 jeans
-34336 jed
-34341 jedi
-34342 jeep
-34343 jeer
-34344 jeers
-34345 jeff
-34346 jello
-34351 jelly
-34352 jenny
-34353 jerk
-34354 jerks
-34355 jerky
-34356 jerry
-34361 jersey
-34362 jesse
-34363 jest
-34364 jesus
-34365 jet
-34366 jets
-34411 jew
-34412 jewel
-34413 jewish
-34414 jf
-34415 jfk
-34416 jg
-34421 jh
-34422 ji
-34423 jiffy
-34424 jig
-34425 jiggle
-34426 jigs
-34431 jill
-34432 jilt
-34433 jim
-34434 jimmy
-34435 jinx
-34436 jive
-34441 jj
-34442 jjj
-34443 jjjj
-34444 jk
-34445 jkl
-34446 jl
-34451 jm
-34452 jn
-34453 jo
-34454 joan
-34455 job
-34456 jobs
-34461 jock
-34462 jockey
-34463 jody
-34464 joe
-34465 joel
-34466 joey
-34511 jog
-34512 jogs
-34513 john
-34514 join
-34515 joins
-34516 joint
-34521 joke
-34522 joker
-34523 jokes
-34524 jolly
-34525 jolt
-34526 jonas
-34531 jones
-34532 jose
-34533 josef
-34534 josh
-34535 joshua
-34536 jostle
-34541 jot
-34542 jots
-34543 joust
-34544 jove
-34545 jowl
-34546 jowls
-34551 joy
-34552 joyce
-34553 jp
-34554 jq
-34555 jr
-34556 js
-34561 jt
-34562 ju
-34563 juan
-34564 judas
-34565 jude
-34566 judge
-34611 judo
-34612 judy
-34613 jug
-34614 juggle
-34615 jugs
-34616 juice
-34621 juicy
-34622 jul
-34623 julep
-34624 jules
-34625 julia
-34626 julie
-34631 julio
-34632 july
-34633 jumbo
-34634 jump
-34635 jumps
-34636 jumpy
-34641 jun
-34642 june
-34643 jung
-34644 junk
-34645 junky
-34646 juno
-34651 junta
-34652 juror
-34653 jury
-34654 just
-34655 jut
-34656 jute
-34661 jv
-34662 jw
-34663 jx
-34664 jy
-34665 jz
-34666 k
-35111 k's
-35112 ka
-35113 kafka
-35114 kale
-35115 kane
-35116 kansas
-35121 kant
-35122 kappa
-35123 kaput
-35124 karate
-35125 karen
-35126 karl
-35131 karma
-35132 karol
-35133 kate
-35134 kathy
-35135 katie
-35136 kay
-35141 kayak
-35142 kayo
-35143 kazoo
-35144 kb
-35145 kc
-35146 kd
-35151 ke
-35152 keats
-35153 kebob
-35154 keel
-35155 keen
-35156 keep
-35161 keeps
-35162 keg
-35163 kegs
-35164 keith
-35165 kelly
-35166 kelp
-35211 ken
-35212 kennel
-35213 kent
-35214 kept
-35215 kerry
-35216 kettle
-35221 kevin
-35222 key
-35223 keyed
-35224 keys
-35225 kf
-35226 kg
-35231 kgb
-35232 kh
-35233 khaki
-35234 khan
-35235 khz
-35236 ki
-35241 kibitz
-35242 kick
-35243 kicks
-35244 kid
-35245 kidney
-35246 kids
-35251 kill
-35252 kills
-35253 kiln
-35254 kilo
-35255 kilt
-35256 kilts
-35261 kim
-35262 kin
-35263 kind
-35264 kinds
-35265 king
-35266 kings
-35311 kink
-35312 kinky
-35313 kiosk
-35314 kirby
-35315 kirk
-35316 kiss
-35321 kit
-35322 kite
-35323 kites
-35324 kitty
-35325 kiwi
-35326 kj
-35331 kk
-35332 kkk
-35333 kkkk
-35334 kl
-35335 klan
-35336 klaus
-35341 klaxon
-35342 klein
-35343 klm
-35344 klutz
-35345 km
-35346 kn
-35351 knack
-35352 knave
-35353 knead
-35354 knee
-35355 kneel
-35356 knees
-35361 knelt
-35362 knew
-35363 knife
-35364 knight
-35365 knit
-35366 knits
-35411 knob
-35412 knobs
-35413 knock
-35414 knot
-35415 knots
-35416 know
-35421 known
-35422 knows
-35423 knox
-35424 ko
-35425 koala
-35426 koan
-35431 kodak
-35432 kong
-35433 kook
-35434 kooks
-35435 kooky
-35436 koran
-35441 korea
-35442 kp
-35443 kq
-35444 kr
-35445 kraft
-35446 kraut
-35451 kris
-35452 ks
-35453 kt
-35454 ku
-35455 kudo
-35456 kudos
-35461 kudzu
-35462 kurt
-35463 kv
-35464 kw
-35465 kx
-35466 ky
-35511 kz
-35512 l
-35513 l's
-35514 la
-35515 lab
-35516 label
-35521 labor
-35522 labs
-35523 lace
-35524 laces
-35525 lack
-35526 lacks
-35531 lacy
-35532 lad
-35533 ladder
-35534 ladle
-35535 lads
-35536 lady
-35541 lag
-35542 lager
-35543 lagoon
-35544 lags
-35545 laid
-35546 lair
-35551 lake
-35552 lakes
-35553 lam
-35554 lamar
-35555 lamb
-35556 lambs
-35561 lame
-35562 lamp
-35563 lamps
-35564 lana
-35565 lance
-35566 land
-35611 lands
-35612 lane
-35613 lanky
-35614 laos
-35615 lap
-35616 lapel
-35621 laps
-35622 lapse
-35623 lara
-35624 lard
-35625 large
-35626 lark
-35631 larks
-35632 larry
-35633 larva
-35634 larynx
-35635 laser
-35636 lash
-35641 lass
-35642 lasso
-35643 last
-35644 latch
-35645 late
-35646 later
-35651 latest
-35652 latex
-35653 lathe
-35654 latin
-35655 laud
-35656 laugh
-35661 launch
-35662 laura
-35663 lava
-35664 law
-35665 lawn
-35666 lawns
-36111 laws
-36112 lawson
-36113 lax
-36114 lay
-36115 layer
-36116 layla
-36121 lays
-36122 lazy
-36123 lb
-36124 lbj
-36125 lbs
-36126 lc
-36131 lcd
-36132 ld
-36133 le
-36134 lead
-36135 leads
-36136 leaf
-36141 leafy
-36142 leah
-36143 leak
-36144 leaks
-36145 leaky
-36146 lean
-36151 leap
-36152 leaps
-36153 lear
-36154 learn
-36155 leary
-36156 lease
-36161 leash
-36162 least
-36163 leave
-36164 led
-36165 leda
-36166 ledge
-36211 lee
-36212 leech
-36213 leer
-36214 leers
-36215 leery
-36216 leeway
-36221 left
-36222 lefty
-36223 leg
-36224 legacy
-36225 legal
-36226 legion
-36231 legs
-36232 lei
-36233 lemon
-36234 len
-36235 lend
-36236 lends
-36241 length
-36242 lenin
-36243 lenny
-36244 lens
-36245 lent
-36246 leo
-36251 leon
-36252 leona
-36253 leper
-36254 leroy
-36255 less
-36256 lest
-36261 let
-36262 let's
-36263 lets
-36264 letter
-36265 levee
-36266 level
-36311 lever
-36312 levis
-36313 levy
-36314 lewd
-36315 lewis
-36316 lf
-36321 lg
-36322 lh
-36323 li
-36324 liar
-36325 liars
-36326 lib
-36331 libel
-36332 libido
-36333 libya
-36334 lice
-36335 lick
-36336 licks
-36341 lid
-36342 lids
-36343 lie
-36344 lied
-36345 lien
-36346 lies
-36351 lieu
-36352 lieut
-36353 life
-36354 lift
-36355 light
-36356 like
-36361 liked
-36362 likes
-36363 lil
-36364 lilac
-36365 lilt
-36366 lily
-36411 lima
-36412 limb
-36413 limbo
-36414 limbs
-36415 lime
-36416 limit
-36421 limp
-36422 limps
-36423 linda
-36424 line
-36425 linen
-36426 lines
-36431 lingo
-36432 link
-36433 lint
-36434 linus
-36435 lion
-36436 lip
-36441 lips
-36442 liquid
-36443 lira
-36444 lisa
-36445 lisp
-36446 list
-36451 listen
-36452 lists
-36453 liszt
-36454 lit
-36455 litton
-36456 live
-36461 liver
-36462 livid
-36463 liz
-36464 liza
-36465 lizzie
-36466 lj
-36511 lk
-36512 ll
-36513 lll
-36514 llll
-36515 lloyd
-36516 lm
-36521 lmn
-36522 ln
-36523 lo
-36524 load
-36525 loaf
-36526 loam
-36531 loamy
-36532 loan
-36533 lob
-36534 lobby
-36535 lobe
-36536 lobs
-36541 local
-36542 loch
-36543 lock
-36544 locks
-36545 lode
-36546 lodge
-36551 loft
-36552 lofty
-36553 log
-36554 logan
-36555 logic
-36556 logo
-36561 logs
-36562 loin
-36563 loins
-36564 lois
-36565 loiter
-36566 loki
-36611 lola
-36612 loll
-36613 lone
-36614 loner
-36615 long
-36616 longs
-36621 look
-36622 looks
-36623 loom
-36624 loon
-36625 loony
-36626 loop
-36631 loose
-36632 loot
-36633 lop
-36634 lopez
-36635 lops
-36636 lord
-36641 lore
-36642 loren
-36643 lose
-36644 loser
-36645 loses
-36646 loss
-36651 lost
-36652 lot
-36653 lots
-36654 lotto
-36655 lotus
-36656 lou
-36661 loud
-36662 louis
-36663 louise
-36664 louse
-36665 lousy
-36666 lout
-41111 love
-41112 loved
-41113 lover
-41114 low
-41115 lower
-41116 lowry
-41121 lox
-41122 loyal
-41123 lp
-41124 lq
-41125 lr
-41126 ls
-41131 lsd
-41132 lt
-41133 ltd
-41134 lu
-41135 luau
-41136 lucas
-41141 luce
-41142 lucia
-41143 lucid
-41144 luck
-41145 lucky
-41146 lucy
-41151 ludwig
-41152 lug
-41153 luger
-41154 lugs
-41155 luis
-41156 luke
-41161 lull
-41162 lulu
-41163 lump
-41164 lumps
-41165 lumpy
-41166 luna
-41211 lunar
-41212 lunch
-41213 lung
-41214 lunge
-41215 lungs
-41216 lurch
-41221 lure
-41222 lurid
-41223 lurk
-41224 lurks
-41225 lush
-41226 lust
-41231 lusty
-41232 lute
-41233 luxury
-41234 lv
-41235 lw
-41236 lx
-41241 ly
-41242 lye
-41243 lying
-41244 lyle
-41245 lymph
-41246 lynch
-41251 lynn
-41252 lynx
-41253 lyre
-41254 lyric
-41255 lz
-41256 m
-41261 m&m
-41262 m's
-41263 m-16
-41264 ma
-41265 ma'am
-41266 mabel
-41311 mac
-41312 macaw
-41313 mace
-41314 macho
-41315 macro
-41316 mad
-41321 madam
-41322 made
-41323 madly
-41324 madman
-41325 mafia
-41326 magic
-41331 magma
-41332 magnet
-41333 magoo
-41334 magpie
-41335 maid
-41336 maids
-41341 mail
-41342 maim
-41343 maims
-41344 main
-41345 maine
-41346 maize
-41351 maj
-41352 major
-41353 make
-41354 malady
-41355 male
-41356 malice
-41361 mall
-41362 malls
-41363 malt
-41364 mama
-41365 mambo
-41366 mammal
-41411 man
-41412 mane
-41413 mango
-41414 mania
-41415 manic
-41416 manly
-41421 manna
-41422 manor
-41423 mantle
-41424 many
-41425 mao
-41426 map
-41431 maple
-41432 maps
-41433 mar
-41434 marble
-41435 march
-41436 marco
-41441 mare
-41442 mares
-41443 marge
-41444 margo
-41445 maria
-41446 marie
-41451 marine
-41452 mario
-41453 mark
-41454 marks
-41455 marlin
-41456 marrow
-41461 marry
-41462 mars
-41463 marsh
-41464 mart
-41465 marty
-41466 martyr
-41511 marx
-41512 mary
-41513 mash
-41514 mask
-41515 masks
-41516 mason
-41521 mass
-41522 mast
-41523 masts
-41524 mat
-41525 match
-41526 mate
-41531 mated
-41532 mates
-41533 math
-41534 mats
-41535 matt
-41536 matzo
-41541 maud
-41542 maude
-41543 maul
-41544 mauls
-41545 maw
-41546 max
-41551 maxim
-41552 may
-41553 maybe
-41554 mayhem
-41555 mayo
-41556 mayor
-41561 mazda
-41562 maze
-41563 mazes
-41564 mb
-41565 mba
-41566 mc
-41611 mccoy
-41612 mcgee
-41613 md
-41614 me
-41615 meadow
-41616 meal
-41621 meals
-41622 mean
-41623 means
-41624 meant
-41625 meat
-41626 meaty
-41631 mecca
-41632 medal
-41633 media
-41634 medic
-41635 medley
-41636 meek
-41641 meet
-41642 meets
-41643 meg
-41644 meld
-41645 melee
-41646 mellow
-41651 melody
-41652 melon
-41653 melt
-41654 melts
-41655 memo
-41656 memoir
-41661 men
-41662 mend
-41663 mends
-41664 menu
-41665 meow
-41666 mercy
-42111 mere
-42112 merge
-42113 merit
-42114 merry
-42115 mesa
-42116 mesh
-42121 mess
-42122 messy
-42123 met
-42124 metal
-42125 meteor
-42126 meter
-42131 metro
-42132 meyer
-42133 mf
-42134 mg
-42135 mgm
-42136 mgmt
-42141 mh
-42142 mi
-42143 mia
-42144 miami
-42145 mice
-42146 mickey
-42151 micro
-42152 mid
-42153 midas
-42154 midst
-42155 mig
-42156 might
-42161 migs
-42162 mike
-42163 mild
-42164 mildew
-42165 mile
-42166 miles
-42211 milk
-42212 milky
-42213 mill
-42214 mills
-42215 milo
-42216 mime
-42221 mimes
-42222 mimi
-42223 mimic
-42224 mince
-42225 mind
-42226 minds
-42231 mine
-42232 mined
-42233 miner
-42234 mines
-42235 mini
-42236 mink
-42241 minnow
-42242 minor
-42243 mint
-42244 mints
-42245 minty
-42246 minus
-42251 mirage
-42252 mire
-42253 mired
-42254 mirth
-42255 mirv
-42256 misc
-42261 miser
-42262 misery
-42263 miss
-42264 mist
-42265 mists
-42266 misty
-42311 mit
-42312 mite
-42313 mites
-42314 mitt
-42315 mitts
-42316 mix
-42321 mixed
-42322 mixer
-42323 mixes
-42324 mixup
-42325 mj
-42326 mk
-42331 ml
-42332 mm
-42333 mmm
-42334 mmmm
-42335 mn
-42336 mno
-42341 mo
-42342 moan
-42343 moans
-42344 moat
-42345 mob
-42346 mobil
-42351 mobs
-42352 moby
-42353 mock
-42354 mocks
-42355 mod
-42356 mode
-42361 model
-42362 modem
-42363 moe
-42364 mogul
-42365 moist
-42366 mojo
-42411 molar
-42412 mold
-42413 molds
-42414 mole
-42415 moles
-42416 molly
-42421 molt
-42422 molten
-42423 mom
-42424 momma
-42425 mommy
-42426 mon
-42431 mona
-42432 money
-42433 monk
-42434 monkey
-42435 mono
-42436 month
-42441 monty
-42442 moo
-42443 mooch
-42444 mood
-42445 moods
-42446 moody
-42451 moon
-42452 moons
-42453 moor
-42454 moore
-42455 moose
-42456 mop
-42461 mope
-42462 mopes
-42463 mops
-42464 moral
-42465 morale
-42466 morbid
-42511 more
-42512 morn
-42513 moron
-42514 morph
-42515 morse
-42516 morsel
-42521 mort
-42522 mosaic
-42523 moses
-42524 moss
-42525 mossy
-42526 most
-42531 mote
-42532 motel
-42533 moth
-42534 mother
-42535 moths
-42536 motif
-42541 motor
-42542 motto
-42543 mound
-42544 mount
-42545 mourn
-42546 mouse
-42551 mousy
-42552 mouth
-42553 move
-42554 moved
-42555 moves
-42556 movie
-42561 mow
-42562 mowed
-42563 mower
-42564 mows
-42565 moxie
-42566 mp
-42611 mpg
-42612 mph
-42613 mq
-42614 mr
-42615 mrs
-42616 ms
-42621 msdos
-42622 msg
-42623 mt
-42624 mu
-42625 much
-42626 muck
-42631 mucus
-42632 mud
-42633 muddy
-42634 muff
-42635 muffin
-42636 mug
-42641 muggy
-42642 mugs
-42643 mulch
-42644 mule
-42645 mules
-42646 mull
-42651 mum
-42652 mumble
-42653 mummy
-42654 mumps
-42655 munch
-42656 mural
-42661 muriel
-42662 murk
-42663 murky
-42664 muse
-42665 muses
-42666 mush
-43111 mushy
-43112 music
-43113 musk
-43114 musky
-43115 muslim
-43116 muss
-43121 must
-43122 musty
-43123 mute
-43124 muted
-43125 mutt
-43126 muzak
-43131 mv
-43132 mw
-43133 mx
-43134 my
-43135 mylar
-43136 mynah
-43141 myob
-43142 myopia
-43143 myra
-43144 myron
-43145 myself
-43146 myth
-43151 myths
-43152 mz
-43153 n
-43154 n's
-43155 na
-43156 nab
-43161 nabs
-43162 nacl
-43163 nag
-43164 nags
-43165 nail
-43166 nails
-43211 naive
-43212 naked
-43213 name
-43214 named
-43215 names
-43216 nan
-43221 nancy
-43222 naomi
-43223 nap
-43224 nape
-43225 napkin
-43226 naps
-43231 nasa
-43232 nasal
-43233 nash
-43234 nasty
-43235 nat
-43236 natal
-43241 nate
-43242 nato
-43243 nature
-43244 nausea
-43245 naval
-43246 navel
-43251 navy
-43252 nay
-43253 nazi
-43254 nb
-43255 nc
-43256 nd
-43261 ne
-43262 near
-43263 nearby
-43264 neat
-43265 neck
-43266 necks
-43311 ned
-43312 need
-43313 needs
-43314 needy
-43315 negate
-43316 negro
-43321 neigh
-43322 neil
-43323 nell
-43324 neon
-43325 nerd
-43326 nerve
-43331 nest
-43332 nests
-43333 net
-43334 nets
-43335 never
-43336 new
-43341 newly
-43342 news
-43343 newt
-43344 next
-43345 nf
-43346 ng
-43351 nguyen
-43352 nh
-43353 ni
-43354 nice
-43355 nicer
-43356 nick
-43361 nickel
-43362 nico
-43363 niece
-43364 nifty
-43365 night
-43366 nil
-43411 nile
-43412 nina
-43413 nine
-43414 ninja
-43415 ninth
-43416 niobe
-43421 nip
-43422 nips
-43423 nitwit
-43424 nix
-43425 nixon
-43426 nj
-43431 nk
-43432 nl
-43433 nm
-43434 nn
-43435 nne
-43436 nnn
-43441 nnnn
-43442 nnw
-43443 no
-43444 noah
-43445 noble
-43446 nod
-43451 node
-43452 nods
-43453 noel
-43454 noise
-43455 noisy
-43456 nomad
-43461 none
-43462 nono
-43463 nook
-43464 noon
-43465 noose
-43466 nop
-43511 nope
-43512 nor
-43513 nora
-43514 norm
-43515 norma
-43516 north
-43521 norway
-43522 nose
-43523 nosy
-43524 not
-43525 notch
-43526 note
-43531 noted
-43532 notes
-43533 noun
-43534 nouns
-43535 nov
-43536 nova
-43541 novak
-43542 novel
-43543 now
-43544 np
-43545 nq
-43546 nr
-43551 ns
-43552 nt
-43553 nu
-43554 nuance
-43555 nude
-43556 nudge
-43561 nuke
-43562 null
-43563 numb
-43564 nun
-43565 nuns
-43566 nurse
-43611 nut
-43612 nutmeg
-43613 nuts
-43614 nutty
-43615 nv
-43616 nw
-43621 nx
-43622 ny
-43623 nyc
-43624 nylon
-43625 nymph
-43626 nz
-43631 o
-43632 o's
-43633 oa
-43634 oaf
-43635 oak
-43636 oaken
-43641 oar
-43642 oars
-43643 oasis
-43644 oat
-43645 oath
-43646 oats
-43651 ob
-43652 obese
-43653 obey
-43654 obeys
-43655 obit
-43656 object
-43661 oboe
-43662 oc
-43663 occur
-43664 ocean
-43665 ocr
-43666 oct
-44111 octal
-44112 octave
-44113 od
-44114 odd
-44115 odds
-44116 ode
-44121 odor
-44122 odors
-44123 oe
-44124 of
-44125 off
-44126 offend
-44131 offer
-44132 often
-44133 og
-44134 ogle
-44135 ogled
-44136 ogles
-44141 ogre
-44142 oh
-44143 ohio
-44144 oho
-44145 oi
-44146 oil
-44151 oiled
-44152 oils
-44153 oily
-44154 oink
-44155 oj
-44156 ok
-44161 okay
-44162 okays
-44163 okra
-44164 ol
-44165 olaf
-44166 old
-44211 older
-44212 ole
-44213 olga
-44214 olive
-44215 olson
-44216 om
-44221 omaha
-44222 omega
-44223 omen
-44224 omens
-44225 omit
-44226 omits
-44231 on
-44232 once
-44233 one
-44234 onion
-44235 only
-44236 onset
-44241 onto
-44242 onward
-44243 oo
-44244 ooo
-44245 oooo
-44246 oops
-44251 ooze
-44252 oozed
-44253 op
-44254 opal
-44255 opals
-44256 opec
-44261 open
-44262 opens
-44263 opera
-44264 opium
-44265 opq
-44266 opt
-44311 optic
-44312 opus
-44313 oq
-44314 or
-44315 oral
-44316 orb
-44321 orbit
-44322 orbs
-44323 orchid
-44324 order
-44325 ore
-44326 organ
-44331 orgy
-44332 ornery
-44333 orphan
-44334 os
-44335 oscar
-44336 ot
-44341 other
-44342 otis
-44343 otter
-44344 otto
-44345 ou
-44346 ouch
-44351 ought
-44352 ouija
-44353 ounce
-44354 our
-44355 ours
-44356 oust
-44361 out
-44362 outdo
-44363 outer
-44364 outlaw
-44365 ov
-44366 oval
-44411 ovals
-44412 ovary
-44413 oven
-44414 ovens
-44415 over
-44416 overt
-44421 ow
-44422 owe
-44423 owed
-44424 owens
-44425 owes
-44426 owing
-44431 owl
-44432 owls
-44433 own
-44434 owned
-44435 owner
-44436 owns
-44441 ox
-44442 oxen
-44443 oxide
-44444 oy
-44445 oz
-44446 ozone
-44451 p
-44452 p's
-44453 pa
-44454 pablo
-44455 pace
-44456 paces
-44461 pack
-44462 packet
-44463 packs
-44464 pact
-44465 pad
-44466 paddy
-44511 pads
-44512 pagan
-44513 page
-44514 pages
-44515 paid
-44516 pail
-44521 pain
-44522 pains
-44523 paint
-44524 pair
-44525 pajama
-44526 pal
-44531 pale
-44532 palm
-44533 palms
-44534 pals
-44535 pam
-44536 pan
-44541 panama
-44542 panda
-44543 pane
-44544 panel
-44545 pang
-44546 panic
-44551 pans
-44552 pansy
-44553 pant
-44554 pants
-44555 papa
-44556 paper
-44561 pappy
-44562 par
-44563 pardon
-44564 pare
-44565 paris
-44566 park
-44611 parks
-44612 parse
-44613 part
-44614 parts
-44615 party
-44616 pascal
-44621 pass
-44622 past
-44623 paste
-44624 pasty
-44625 pat
-44626 patch
-44631 path
-44632 paths
-44633 patio
-44634 pats
-44635 patsy
-44636 patton
-44641 patty
-44642 paul
-44643 paula
-44644 pause
-44645 pave
-44646 paved
-44651 paves
-44652 paw
-44653 pawed
-44654 pawn
-44655 pawns
-44656 paws
-44661 pay
-44662 payday
-44663 pb
-44664 pc
-44665 pd
-44666 pdq
-45111 pe
-45112 pea
-45113 peace
-45114 peach
-45115 peak
-45116 peaks
-45121 pear
-45122 pearl
-45123 pears
-45124 peas
-45125 pebble
-45126 pecan
-45131 peck
-45132 pecks
-45133 pedal
-45134 pedro
-45135 pee
-45136 peed
-45141 peek
-45142 peel
-45143 peep
-45144 peer
-45145 peeve
-45146 peg
-45151 peggy
-45152 pegs
-45153 pelt
-45154 pen
-45155 penal
-45156 pencil
-45161 penn
-45162 penny
-45163 pens
-45164 peony
-45165 people
-45166 pep
-45211 peppy
-45212 pepsi
-45213 per
-45214 perch
-45215 percy
-45216 perez
-45221 peril
-45222 period
-45223 perk
-45224 perks
-45225 perky
-45226 perm
-45231 perry
-45232 pert
-45233 peru
-45234 peso
-45235 pest
-45236 pests
-45241 pet
-45242 petal
-45243 pete
-45244 peter
-45245 pets
-45246 petty
-45251 pf
-45252 pfc
-45253 pg
-45254 ph
-45255 phase
-45256 phd
-45261 phi
-45262 phil
-45263 phlox
-45264 phone
-45265 phony
-45266 photo
-45311 phrase
-45312 pi
-45313 piano
-45314 pick
-45315 picks
-45316 pickup
-45321 picky
-45322 picnic
-45323 pie
-45324 piece
-45325 pier
-45326 pierce
-45331 piers
-45332 pies
-45333 piety
-45334 pig
-45335 piggy
-45336 pigs
-45341 pike
-45342 pile
-45343 piles
-45344 pill
-45345 pills
-45346 pilot
-45351 pimp
-45352 pimple
-45353 pin
-45354 pinch
-45355 pine
-45356 pines
-45361 ping
-45362 pink
-45363 pinko
-45364 pins
-45365 pint
-45366 pinto
-45411 pinup
-45412 pious
-45413 pip
-45414 pipe
-45415 piper
-45416 pirate
-45421 pit
-45422 pita
-45423 pitch
-45424 pith
-45425 pithy
-45426 pits
-45431 pity
-45432 pivot
-45433 pixel
-45434 pixie
-45435 pizza
-45436 pj
-45441 pk
-45442 pl
-45443 place
-45444 plague
-45445 plaid
-45446 plain
-45451 plan
-45452 plane
-45453 planet
-45454 plank
-45455 plant
-45456 plate
-45461 plato
-45462 play
-45463 plays
-45464 plaza
-45465 plea
-45466 plead
-45511 pleas
-45512 pleat
-45513 pledge
-45514 plod
-45515 plods
-45516 plop
-45521 plot
-45522 plots
-45523 plow
-45524 plows
-45525 ploy
-45526 ploys
-45531 pluck
-45532 plug
-45533 plugs
-45534 plum
-45535 plume
-45536 plump
-45541 plums
-45542 plus
-45543 plush
-45544 pluto
-45545 ply
-45546 pm
-45551 pms
-45552 pn
-45553 po
-45554 poach
-45555 pobox
-45556 pod
-45561 pods
-45562 poe
-45563 poem
-45564 poems
-45565 poet
-45566 poetry
-45611 pogo
-45612 poi
-45613 point
-45614 poise
-45615 poison
-45616 poke
-45621 poked
-45622 pokes
-45623 pol
-45624 polar
-45625 pole
-45626 poles
-45631 police
-45632 polio
-45633 polk
-45634 polka
-45635 poll
-45636 polls
-45641 polo
-45642 pomp
-45643 pond
-45644 ponds
-45645 pony
-45646 pooch
-45651 pooh
-45652 pool
-45653 pools
-45654 poop
-45655 poor
-45656 pop
-45661 pope
-45662 poppy
-45663 pops
-45664 porch
-45665 pore
-45666 pores
-46111 pork
-46112 porn
-46113 porous
-46114 port
-46115 pose
-46116 posed
-46121 poses
-46122 posh
-46123 posse
-46124 post
-46125 posts
-46126 posy
-46131 pot
-46132 potato
-46133 pots
-46134 potts
-46135 pouch
-46136 pound
-46141 pour
-46142 pours
-46143 pout
-46144 pouts
-46145 pow
-46146 powder
-46151 power
-46152 pox
-46153 pp
-46154 ppm
-46155 ppp
-46156 pppp
-46161 pq
-46162 pqr
-46163 pr
-46164 prank
-46165 prawn
-46166 pray
-46211 prays
-46212 preen
-46213 prefix
-46214 prep
-46215 press
-46216 prexy
-46221 prey
-46222 price
-46223 prick
-46224 pride
-46225 prig
-46226 prim
-46231 prime
-46232 prince
-46233 print
-46234 prior
-46235 prism
-46236 prissy
-46241 privy
-46242 prize
-46243 pro
-46244 probe
-46245 prod
-46246 prods
-46251 prof
-46252 prom
-46253 promo
-46254 prone
-46255 prong
-46256 proof
-46261 prop
-46262 propel
-46263 props
-46264 prose
-46265 proud
-46266 prove
-46311 prow
-46312 prowl
-46313 proxy
-46314 prude
-46315 prune
-46316 pry
-46321 ps
-46322 psalm
-46323 psi
-46324 psych
-46325 pt
-46326 pu
-46331 pub
-46332 pubic
-46333 pubs
-46334 puck
-46335 pucker
-46336 puddle
-46341 pudgy
-46342 puff
-46343 puffs
-46344 puffy
-46345 pug
-46346 puke
-46351 pull
-46352 pulls
-46353 pulp
-46354 pulse
-46355 puma
-46356 pump
-46361 pumps
-46362 pun
-46363 punch
-46364 punish
-46365 punk
-46366 punks
-46411 punky
-46412 puns
-46413 punt
-46414 punts
-46415 puny
-46416 pup
-46421 pupil
-46422 puppy
-46423 pure
-46424 purge
-46425 purr
-46426 purse
-46431 pus
-46432 push
-46433 pushy
-46434 pussy
-46435 put
-46436 puts
-46441 putt
-46442 putty
-46443 puzzle
-46444 pv
-46445 pvc
-46446 pw
-46451 px
-46452 py
-46453 pygmy
-46454 pyre
-46455 pyrex
-46456 pz
-46461 q
-46462 q&a
-46463 q's
-46464 qa
-46465 qb
-46466 qc
-46511 qd
-46512 qe
-46513 qed
-46514 qf
-46515 qg
-46516 qh
-46521 qi
-46522 qj
-46523 qk
-46524 ql
-46525 qm
-46526 qn
-46531 qo
-46532 qp
-46533 qq
-46534 qqq
-46535 qqqq
-46536 qr
-46541 qrs
-46542 qs
-46543 qt
-46544 qu
-46545 quack
-46546 quad
-46551 quail
-46552 quake
-46553 quarry
-46554 quart
-46555 queasy
-46556 queen
-46561 query
-46562 quest
-46563 queue
-46564 quick
-46565 quiet
-46566 quill
-46611 quilt
-46612 quinn
-46613 quip
-46614 quips
-46615 quirk
-46616 quit
-46621 quite
-46622 quits
-46623 quiver
-46624 quiz
-46625 quota
-46626 quote
-46631 qv
-46632 qw
-46633 qx
-46634 qy
-46635 qz
-46636 r
-46641 r&b
-46642 r&d
-46643 r&r
-46644 r's
-46645 ra
-46646 rabbi
-46651 rabbit
-46652 rabid
-46653 race
-46654 raced
-46655 races
-46656 rack
-46661 racy
-46662 radar
-46663 radio
-46664 radish
-46665 raft
-46666 rafts
-51111 rag
-51112 rage
-51113 raged
-51114 rags
-51115 raid
-51116 raids
-51121 rail
-51122 rails
-51123 rain
-51124 rains
-51125 rainy
-51126 raise
-51131 rake
-51132 raked
-51133 rakes
-51134 rally
-51135 ralph
-51136 ram
-51141 rambo
-51142 ramp
-51143 rams
-51144 ramsey
-51145 ran
-51146 ranch
-51151 rand
-51152 randy
-51153 rang
-51154 range
-51155 rank
-51156 ranks
-51161 rant
-51162 rants
-51163 raoul
-51164 rap
-51165 rape
-51166 raped
-51211 rapid
-51212 raps
-51213 rare
-51214 rascal
-51215 rash
-51216 rat
-51221 rate
-51222 rated
-51223 rates
-51224 ratio
-51225 rats
-51226 rattle
-51231 rave
-51232 raved
-51233 raven
-51234 raw
-51235 ray
-51236 rayon
-51241 rays
-51242 raze
-51243 razor
-51244 rb
-51245 rc
-51246 rd
-51251 re
-51252 reach
-51253 read
-51254 reads
-51255 ready
-51256 reagan
-51261 real
-51262 realm
-51263 reap
-51264 rear
-51265 rebel
-51266 rebut
-51311 recap
-51312 recipe
-51313 recur
-51314 red
-51315 redeem
-51316 redo
-51321 reduce
-51322 reed
-51323 reeds
-51324 reef
-51325 reek
-51326 reeks
-51331 reel
-51332 reels
-51333 ref
-51334 refer
-51335 refs
-51336 regal
-51341 regs
-51342 rehab
-51343 reich
-51344 reid
-51345 reign
-51346 rein
-51351 reins
-51352 reject
-51353 relax
-51354 relay
-51355 relic
-51356 rely
-51361 rem
-51362 remedy
-51363 remit
-51364 remix
-51365 rena
-51366 rend
-51411 renee
-51412 renew
-51413 reno
-51414 renown
-51415 rent
-51416 rents
-51421 rep
-51422 repay
-51423 repel
-51424 repent
-51425 reply
-51426 reps
-51431 rerun
-51432 reset
-51433 resin
-51434 resort
-51435 rest
-51436 rests
-51441 retch
-51442 return
-51443 reuse
-51444 rev
-51445 reveal
-51446 revel
-51451 review
-51452 rex
-51453 rf
-51454 rg
-51455 rh
-51456 rhino
-51461 rho
-51462 rhoda
-51463 rhyme
-51464 ri
-51465 rib
-51466 ribs
-51511 rice
-51512 rich
-51513 rick
-51514 ricky
-51515 rico
-51516 rid
-51521 ride
-51522 rider
-51523 ridge
-51524 rif
-51525 rifle
-51526 rift
-51531 rig
-51532 riggs
-51533 right
-51534 rigid
-51535 rigs
-51536 riley
-51541 rim
-51542 rims
-51543 rind
-51544 ring
-51545 ringo
-51546 rings
-51551 rink
-51552 rinse
-51553 rio
-51554 riot
-51555 riots
-51556 rip
-51561 ripe
-51562 ripen
-51563 ripley
-51564 rips
-51565 rise
-51566 risen
-51611 risk
-51612 risky
-51613 rite
-51614 ritual
-51615 rival
-51616 river
-51621 rivet
-51622 rj
-51623 rk
-51624 rl
-51625 rm
-51626 rn
-51631 rna
-51632 ro
-51633 roach
-51634 road
-51635 roads
-51636 roam
-51641 roar
-51642 roast
-51643 rob
-51644 robe
-51645 robin
-51646 robot
-51651 robs
-51652 rock
-51653 rocket
-51654 rocks
-51655 rocky
-51656 rod
-51661 rode
-51662 rodeo
-51663 rods
-51664 roger
-51665 rogue
-51666 role
-52111 roll
-52112 rolls
-52113 roman
-52114 rome
-52115 romeo
-52116 romp
-52121 ron
-52122 roof
-52123 rook
-52124 rookie
-52125 room
-52126 rooms
-52131 roomy
-52132 roost
-52133 root
-52134 roots
-52135 rope
-52136 rosa
-52141 rose
-52142 ross
-52143 rosy
-52144 rot
-52145 rote
-52146 roth
-52151 rots
-52152 rouge
-52153 rough
-52154 round
-52155 rouse
-52156 rout
-52161 route
-52162 rover
-52163 row
-52164 rowdy
-52165 rows
-52166 roy
-52211 royal
-52212 rp
-52213 rpg
-52214 rq
-52215 rr
-52216 rrr
-52221 rrrr
-52222 rs
-52223 rst
-52224 rsvp
-52225 rt
-52226 ru
-52231 rub
-52232 rube
-52233 rubs
-52234 ruby
-52235 rude
-52236 rudy
-52241 rufus
-52242 rug
-52243 rugged
-52244 rugs
-52245 ruin
-52246 ruins
-52251 rule
-52252 ruler
-52253 rules
-52254 rum
-52255 rummy
-52256 rumor
-52261 rump
-52262 rumpus
-52263 run
-52264 rune
-52265 runes
-52266 rung
-52311 runs
-52312 runt
-52313 runway
-52314 rural
-52315 ruse
-52316 rush
-52321 russ
-52322 rust
-52323 rusts
-52324 rusty
-52325 rut
-52326 ruth
-52331 ruts
-52332 rv
-52333 rw
-52334 rx
-52335 ry
-52336 ryan
-52341 rye
-52342 rz
-52343 s
-52344 s's
-52345 sa
-52346 saber
-52351 sable
-52352 sac
-52353 sack
-52354 sacks
-52355 sacred
-52356 sad
-52361 saddle
-52362 sadly
-52363 safari
-52364 safe
-52365 safer
-52366 safes
-52411 sag
-52412 saga
-52413 sagas
-52414 sage
-52415 sags
-52416 said
-52421 sail
-52422 sails
-52423 saint
-52424 sake
-52425 sal
-52426 salad
-52431 salami
-52432 sale
-52433 sales
-52434 salk
-52435 sally
-52436 salon
-52441 salt
-52442 salts
-52443 salty
-52444 salvo
-52445 sam
-52446 same
-52451 sammy
-52452 samuel
-52453 sand
-52454 sandal
-52455 sands
-52456 sandy
-52461 sane
-52462 sang
-52463 sank
-52464 santa
-52465 sap
-52466 sappy
-52511 saps
-52512 sara
-52513 sarah
-52514 saran
-52515 sase
-52516 sash
-52521 sat
-52522 satan
-52523 satin
-52524 sauce
-52525 saucy
-52526 saudi
-52531 saul
-52532 sauna
-52533 saute
-52534 save
-52535 saved
-52536 saves
-52541 savvy
-52542 saw
-52543 saws
-52544 sawyer
-52545 sax
-52546 say
-52551 says
-52552 sb
-52553 sc
-52554 scab
-52555 scald
-52556 scale
-52561 scalp
-52562 scam
-52563 scamp
-52564 scan
-52565 scans
-52566 scar
-52611 scare
-52612 scarf
-52613 scars
-52614 scary
-52615 scat
-52616 scene
-52621 scent
-52622 school
-52623 scoff
-52624 scold
-52625 scoop
-52626 scoot
-52631 scope
-52632 scorch
-52633 score
-52634 scorn
-52635 scot
-52636 scott
-52641 scour
-52642 scout
-52643 scow
-52644 scowl
-52645 scram
-52646 scrap
-52651 scrape
-52652 screw
-52653 scrip
-52654 scrod
-52655 scrub
-52656 scuba
-52661 scuff
-52662 scum
-52663 scurry
-52664 sd
-52665 sdi
-52666 se
-53111 sea
-53112 seal
-53113 seals
-53114 seam
-53115 seams
-53116 seamy
-53121 sean
-53122 sear
-53123 sears
-53124 seas
-53125 season
-53126 seat
-53131 seats
-53132 sect
-53133 sects
-53134 sedan
-53135 seduce
-53136 see
-53141 seed
-53142 seeds
-53143 seedy
-53144 seek
-53145 seeks
-53146 seem
-53151 seems
-53152 seen
-53153 seep
-53154 seer
-53155 seers
-53156 sees
-53161 seethe
-53162 seize
-53163 self
-53164 sell
-53165 sells
-53166 semen
-53211 semi
-53212 send
-53213 sends
-53214 sense
-53215 sent
-53216 sentry
-53221 sep
-53222 sepia
-53223 sequel
-53224 sequin
-53225 serb
-53226 serf
-53231 serum
-53232 serve
-53233 servo
-53234 set
-53235 seth
-53236 sets
-53241 setup
-53242 seven
-53243 sever
-53244 severe
-53245 sew
-53246 sewed
-53251 sewer
-53252 sewn
-53253 sews
-53254 sex
-53255 sexy
-53256 sf
-53261 sg
-53262 sgt
-53263 sh
-53264 shack
-53265 shade
-53266 shady
-53311 shaft
-53312 shaggy
-53313 shake
-53314 shaken
-53315 shaky
-53316 shall
-53321 sham
-53322 shame
-53323 shank
-53324 shape
-53325 share
-53326 shari
-53331 shark
-53332 sharp
-53333 shave
-53334 shaw
-53335 shawl
-53336 she
-53341 she'd
-53342 she's
-53343 shea
-53344 sheaf
-53345 shear
-53346 sheath
-53351 shed
-53352 sheds
-53353 sheep
-53354 sheer
-53355 sheet
-53356 sheik
-53361 shelf
-53362 shell
-53363 shh
-53364 shift
-53365 shifty
-53366 shin
-53411 shine
-53412 shins
-53413 shiny
-53414 ship
-53415 ships
-53416 shirk
-53421 shirt
-53422 shock
-53423 shoe
-53424 shoes
-53425 shone
-53426 shoo
-53431 shook
-53432 shoot
-53433 shop
-53434 shops
-53435 shore
-53436 short
-53441 shot
-53442 shots
-53443 shout
-53444 shove
-53445 show
-53446 shown
-53451 shows
-53452 shrank
-53453 shred
-53454 shrew
-53455 shriek
-53456 shrub
-53461 shrug
-53462 shuck
-53463 shun
-53464 shut
-53465 shuts
-53466 shy
-53511 shyly
-53512 si
-53513 sic
-53514 sick
-53515 sicko
-53516 sid
-53521 side
-53522 siege
-53523 siesta
-53524 sieve
-53525 sift
-53526 sifts
-53531 sigh
-53532 sighs
-53533 sight
-53534 sigma
-53535 sign
-53536 signal
-53541 signs
-53542 silk
-53543 silks
-53544 silky
-53545 sill
-53546 silly
-53551 silo
-53552 silt
-53553 silver
-53554 simms
-53555 simon
-53556 simons
-53561 sims
-53562 sin
-53563 since
-53564 sinew
-53565 sing
-53566 sings
-53611 sink
-53612 sinks
-53613 sins
-53614 sinus
-53615 sip
-53616 sips
-53621 sir
-53622 sire
-53623 siren
-53624 sis
-53625 sit
-53626 site
-53631 sites
-53632 sits
-53633 six
-53634 sixgun
-53635 sixth
-53636 sixty
-53641 size
-53642 sizes
-53643 sj
-53644 sk
-53645 skate
-53646 skew
-53651 ski
-53652 skid
-53653 skids
-53654 skies
-53655 skill
-53656 skim
-53661 skimpy
-53662 skims
-53663 skin
-53664 skip
-53665 skips
-53666 skirt
-54111 skis
-54112 skit
-54113 skits
-54114 skulk
-54115 skull
-54116 skunk
-54121 sky
-54122 sl
-54123 slab
-54124 slabs
-54125 slack
-54126 slain
-54131 slam
-54132 slams
-54133 slang
-54134 slant
-54135 slap
-54136 slaps
-54141 slash
-54142 slate
-54143 slater
-54144 slave
-54145 slaw
-54146 slay
-54151 sled
-54152 sleds
-54153 sleek
-54154 sleep
-54155 sleet
-54156 slept
-54161 slew
-54162 slice
-54163 slick
-54164 slid
-54165 slide
-54166 slim
-54211 slime
-54212 slimy
-54213 sling
-54214 slip
-54215 slips
-54216 slit
-54221 sliver
-54222 slob
-54223 slog
-54224 sloop
-54225 slop
-54226 slope
-54231 sloppy
-54232 slops
-54233 slosh
-54234 slot
-54235 sloth
-54236 slots
-54241 slow
-54242 slows
-54243 slug
-54244 slugs
-54245 slum
-54246 slump
-54251 slums
-54252 slung
-54253 slur
-54254 slurp
-54255 slurs
-54256 sly
-54261 slyly
-54262 sm
-54263 smack
-54264 small
-54265 smart
-54266 smash
-54311 smear
-54312 smell
-54313 smile
-54314 smirk
-54315 smith
-54316 smock
-54321 smog
-54322 smoke
-54323 smoky
-54324 smooth
-54325 smug
-54326 smut
-54331 sn
-54332 snack
-54333 snafu
-54334 snag
-54335 snail
-54336 snake
-54341 snap
-54342 snaps
-54343 snare
-54344 snarl
-54345 snatch
-54346 sneak
-54351 sneer
-54352 sniff
-54353 snip
-54354 snipe
-54355 snob
-54356 snobs
-54361 snoop
-54362 snore
-54363 snort
-54364 snot
-54365 snout
-54366 snow
-54411 snows
-54412 snowy
-54413 snub
-54414 snubs
-54415 snuff
-54416 snug
-54421 so
-54422 soak
-54423 soaks
-54424 soap
-54425 soapy
-54426 soar
-54431 soars
-54432 sob
-54433 sober
-54434 sobs
-54435 social
-54436 sock
-54441 socks
-54442 sod
-54443 soda
-54444 sofa
-54445 soft
-54446 soften
-54451 soggy
-54452 soil
-54453 soils
-54454 sol
-54455 solar
-54456 sold
-54461 sole
-54462 solemn
-54463 solid
-54464 solo
-54465 solve
-54466 somber
-54511 some
-54512 son
-54513 sonar
-54514 song
-54515 songs
-54516 sonny
-54521 sons
-54522 sony
-54523 soon
-54524 soot
-54525 sop
-54526 sore
-54531 sorry
-54532 sort
-54533 sorts
-54534 sos
-54535 sot
-54536 soul
-54541 sound
-54542 soup
-54543 soupy
-54544 sour
-54545 source
-54546 south
-54551 sow
-54552 sown
-54553 sows
-54554 sox
-54555 soy
-54556 soyuz
-54561 sp
-54562 spa
-54563 space
-54564 spade
-54565 spain
-54566 spam
-54611 span
-54612 spank
-54613 spans
-54614 spar
-54615 spare
-54616 spark
-54621 sparks
-54622 spas
-54623 spasm
-54624 spat
-54625 spawn
-54626 spay
-54631 speak
-54632 spear
-54633 spec
-54634 speck
-54635 sped
-54636 speed
-54641 spell
-54642 spend
-54643 spent
-54644 sperm
-54645 spew
-54646 sphinx
-54651 spice
-54652 spicy
-54653 spies
-54654 spike
-54655 spiky
-54656 spill
-54661 spin
-54662 spine
-54663 spins
-54664 spiny
-54665 spire
-54666 spit
-55111 spite
-55112 spits
-55113 spitz
-55114 splat
-55115 split
-55116 spock
-55121 spoil
-55122 spoke
-55123 sponge
-55124 spoof
-55125 spook
-55126 spooky
-55131 spool
-55132 spoon
-55133 spore
-55134 sport
-55135 spot
-55136 spots
-55141 spout
-55142 sprain
-55143 spray
-55144 spree
-55145 sprig
-55146 spruce
-55151 spry
-55152 spud
-55153 spun
-55154 spunk
-55155 spur
-55156 spurn
-55161 spurs
-55162 spurt
-55163 spy
-55164 sq
-55165 squad
-55166 squat
-55211 squid
-55212 squint
-55213 squirm
-55214 sr
-55215 ss
-55216 sse
-55221 sss
-55222 ssss
-55223 sst
-55224 ssw
-55225 st
-55226 stab
-55231 stabs
-55232 stack
-55233 stacy
-55234 staff
-55235 stag
-55236 stage
-55241 stain
-55242 stair
-55243 stake
-55244 stale
-55245 stalk
-55246 stall
-55251 stamp
-55252 stan
-55253 stance
-55254 stand
-55255 stank
-55256 star
-55261 stare
-55262 stark
-55263 starr
-55264 stars
-55265 start
-55266 stash
-55311 stat
-55312 state
-55313 stats
-55314 statue
-55315 stay
-55316 stays
-55321 steady
-55322 steak
-55323 steal
-55324 steam
-55325 steed
-55326 steel
-55331 steep
-55332 steer
-55333 stein
-55334 stella
-55335 stem
-55336 stems
-55341 step
-55342 steps
-55343 stern
-55344 steve
-55345 stew
-55346 stick
-55351 stiff
-55352 still
-55353 sting
-55354 stingy
-55355 stink
-55356 stint
-55361 stir
-55362 stirs
-55363 stock
-55364 stoke
-55365 stole
-55366 stomp
-55411 stone
-55412 stony
-55413 stood
-55414 stool
-55415 stoop
-55416 stop
-55421 stops
-55422 store
-55423 stork
-55424 storm
-55425 stormy
-55426 story
-55431 stout
-55432 stove
-55433 stow
-55434 strafe
-55435 strap
-55436 straw
-55441 stray
-55442 strep
-55443 strike
-55444 strip
-55445 stroll
-55446 strum
-55451 strut
-55452 stu
-55453 stuart
-55454 stub
-55455 stuck
-55456 stud
-55461 study
-55462 stuff
-55463 stuffy
-55464 stump
-55465 stun
-55466 stung
-55511 stunk
-55512 stuns
-55513 stunt
-55514 sty
-55515 style
-55516 styx
-55521 su
-55522 suave
-55523 sub
-55524 subs
-55525 subtle
-55526 such
-55531 suck
-55532 sucks
-55533 suds
-55534 sue
-55535 sued
-55536 suede
-55541 sues
-55542 suey
-55543 sugar
-55544 suit
-55545 suite
-55546 suits
-55551 sulk
-55552 sulks
-55553 sulky
-55554 sultry
-55555 sum
-55556 sumac
-55561 summon
-55562 sumo
-55563 sums
-55564 sun
-55565 sung
-55566 sunk
-55611 sunny
-55612 suns
-55613 sunset
-55614 sunup
-55615 sup
-55616 super
-55621 supt
-55622 sure
-55623 surf
-55624 surge
-55625 susan
-55626 sushi
-55631 susie
-55632 sutton
-55633 suzy
-55634 sv
-55635 sven
-55636 sw
-55641 swab
-55642 swag
-55643 swam
-55644 swami
-55645 swamp
-55646 swampy
-55651 swan
-55652 swank
-55653 swans
-55654 swap
-55655 swarm
-55656 swat
-55661 sway
-55662 sways
-55663 swear
-55664 sweat
-55665 sweaty
-55666 swede
-56111 sweep
-56112 sweet
-56113 swell
-56114 swept
-56115 swift
-56116 swig
-56121 swim
-56122 swims
-56123 swine
-56124 swing
-56125 swipe
-56126 swirl
-56131 swish
-56132 swiss
-56133 swoop
-56134 sword
-56135 swore
-56136 sworn
-56141 swum
-56142 swung
-56143 sx
-56144 sy
-56145 sybil
-56146 symbol
-56151 syrup
-56152 sz
-56153 t
-56154 t&a
-56155 t's
-56156 ta
-56161 tab
-56162 table
-56163 tablet
-56164 taboo
-56165 tabs
-56166 tabu
-56211 tack
-56212 tacky
-56213 taco
-56214 tact
-56215 tactic
-56216 tad
-56221 taffy
-56222 taft
-56223 tag
-56224 tags
-56225 tail
-56226 tails
-56231 taint
-56232 take
-56233 taken
-56234 takes
-56235 tale
-56236 tales
-56241 talk
-56242 talks
-56243 tall
-56244 tally
-56245 talon
-56246 tame
-56251 tamer
-56252 tamper
-56253 tan
-56254 tang
-56255 tango
-56256 tangy
-56261 tank
-56262 tanks
-56263 tans
-56264 tanya
-56265 tao
-56266 tap
-56311 tape
-56312 taped
-56313 taper
-56314 tapes
-56315 taps
-56316 tar
-56321 tardy
-56322 target
-56323 tarp
-56324 tarry
-56325 tart
-56326 tarts
-56331 task
-56332 taste
-56333 tasty
-56334 tate
-56335 tater
-56336 tattle
-56341 tau
-56342 taunt
-56343 taut
-56344 tavern
-56345 tax
-56346 taxi
-56351 tb
-56352 tba
-56353 tbsp
-56354 tc
-56355 td
-56356 te
-56361 tea
-56362 teach
-56363 teacup
-56364 teak
-56365 team
-56366 teams
-56411 tear
-56412 tease
-56413 tech
-56414 ted
-56415 teddy
-56416 tee
-56421 teen
-56422 teens
-56423 tees
-56424 teeth
-56425 tell
-56426 tells
-56431 temp
-56432 temper
-56433 temple
-56434 tempo
-56435 temps
-56436 tempt
-56441 ten
-56442 tend
-56443 tends
-56444 tenor
-56445 tens
-56446 tense
-56451 tent
-56452 tenth
-56453 tents
-56454 term
-56455 terms
-56456 terra
-56461 terry
-56462 terse
-56463 test
-56464 tests
-56465 testy
-56466 tex
-56511 texan
-56512 texas
-56513 text
-56514 tf
-56515 tg
-56516 tgif
-56521 th
-56522 thai
-56523 than
-56524 thank
-56525 that
-56526 thaw
-56531 thaws
-56532 the
-56533 theft
-56534 their
-56535 them
-56536 theme
-56541 then
-56542 there
-56543 these
-56544 theta
-56545 they
-56546 thick
-56551 thief
-56552 thigh
-56553 thin
-56554 thing
-56555 think
-56556 thins
-56561 third
-56562 this
-56563 tho
-56564 thong
-56565 thor
-56566 thorn
-56611 thorny
-56612 those
-56613 thread
-56614 three
-56615 threw
-56616 throb
-56621 throw
-56622 throws
-56623 thru
-56624 thu
-56625 thud
-56626 thug
-56631 thumb
-56632 thump
-56633 thur
-56634 thus
-56635 thyme
-56636 ti
-56641 tiara
-56642 tibet
-56643 tic
-56644 tick
-56645 ticket
-56646 ticks
-56651 tics
-56652 tidal
-56653 tidbit
-56654 tide
-56655 tidy
-56656 tie
-56661 tied
-56662 tier
-56663 ties
-56664 tiger
-56665 tight
-56666 tile
-61111 tiled
-61112 tiles
-61113 till
-61114 tilt
-61115 tim
-61116 time
-61121 times
-61122 timex
-61123 timid
-61124 tin
-61125 tina
-61126 tinge
-61131 tinny
-61132 tint
-61133 tiny
-61134 tip
-61135 tipoff
-61136 tips
-61141 tipsy
-61142 tire
-61143 tired
-61144 tires
-61145 title
-61146 tj
-61151 tk
-61152 tl
-61153 tlc
-61154 tm
-61155 tn
-61156 tnt
-61161 to
-61162 toad
-61163 toads
-61164 toast
-61165 toby
-61166 today
-61211 todd
-61212 toe
-61213 toes
-61214 tofu
-61215 toga
-61216 toil
-61221 toilet
-61222 toils
-61223 token
-61224 tokyo
-61225 told
-61226 toll
-61231 tolls
-61232 tom
-61233 tomb
-61234 tombs
-61235 tommy
-61236 ton
-61241 tonal
-61242 tone
-61243 toni
-61244 tonic
-61245 tons
-61246 tonsil
-61251 tony
-61252 too
-61253 took
-61254 tool
-61255 tools
-61256 toot
-61261 tooth
-61262 top
-61263 topaz
-61264 topic
-61265 topple
-61266 tops
-61311 topsy
-61312 torah
-61313 torch
-61314 tore
-61315 torn
-61316 torso
-61321 tort
-61322 tory
-61323 toss
-61324 tot
-61325 total
-61326 tote
-61331 totem
-61332 tots
-61333 touch
-61334 tough
-61335 tour
-61336 tours
-61341 tout
-61342 tow
-61343 towel
-61344 tower
-61345 town
-61346 tows
-61351 toxic
-61352 toy
-61353 toys
-61354 tp
-61355 tq
-61356 tr
-61361 trace
-61362 track
-61363 tract
-61364 tracy
-61365 trade
-61366 trail
-61411 train
-61412 trait
-61413 tramp
-61414 trap
-61415 traps
-61416 trash
-61421 tray
-61422 trays
-61423 tread
-61424 treat
-61425 treble
-61426 tree
-61431 trees
-61432 trek
-61433 trench
-61434 trend
-61435 trial
-61436 tribe
-61441 trick
-61442 tricky
-61443 tried
-61444 tries
-61445 trig
-61446 trill
-61451 trim
-61452 trims
-61453 trio
-61454 trip
-61455 tripe
-61456 trips
-61461 trite
-61462 troll
-61463 troop
-61464 trot
-61465 trots
-61466 trout
-61511 troy
-61512 truce
-61513 truck
-61514 trudge
-61515 trudy
-61516 true
-61521 truly
-61522 trunk
-61523 truss
-61524 trust
-61525 truth
-61526 try
-61531 ts
-61532 tsar
-61533 tsp
-61534 tt
-61535 ttt
-61536 tttt
-61541 tu
-61542 tub
-61543 tuba
-61544 tube
-61545 tubes
-61546 tubs
-61551 tuck
-61552 tue
-61553 tues
-61554 tuft
-61555 tufts
-61556 tug
-61561 tugs
-61562 tulip
-61563 tumble
-61564 tuna
-61565 tune
-61566 tuned
-61611 tunic
-61612 tunnel
-61613 turf
-61614 turk
-61615 turkey
-61616 turn
-61621 tush
-61622 tusk
-61623 tusks
-61624 tut
-61625 tutor
-61626 tutu
-61631 tuv
-61632 tux
-61633 tv
-61634 tw
-61635 twa
-61636 twain
-61641 tweak
-61642 tweed
-61643 twice
-61644 twig
-61645 twigs
-61646 twin
-61651 twine
-61652 twins
-61653 twirl
-61654 twist
-61655 twisty
-61656 twit
-61661 two
-61662 twos
-61663 tx
-61664 ty
-61665 tycoon
-61666 tying
-62111 tyke
-62112 tyler
-62113 type
-62114 typed
-62115 types
-62116 typo
-62121 tz
-62122 u
-62123 u's
-62124 u-2
-62125 ua
-62126 ub
-62131 uc
-62132 ud
-62133 ue
-62134 uf
-62135 ufo
-62136 ug
-62141 ugh
-62142 ugly
-62143 uh
-62144 ui
-62145 uj
-62146 uk
-62151 ul
-62152 ulcer
-62153 um
-62154 umpire
-62155 un
-62156 uncle
-62161 uncut
-62162 under
-62163 undo
-62164 undue
-62165 unfit
-62166 unify
-62211 union
-62212 unit
-62213 unite
-62214 units
-62215 unity
-62216 unix
-62221 untie
-62222 until
-62223 unto
-62224 unwed
-62225 uo
-62226 up
-62231 uphill
-62232 uphold
-62233 upi
-62234 upon
-62235 upper
-62236 uproar
-62241 ups
-62242 upset
-62243 uptake
-62244 uq
-62245 ur
-62246 urban
-62251 urge
-62252 urged
-62253 urges
-62254 urine
-62255 urn
-62256 us
-62261 usa
-62262 usaf
-62263 usage
-62264 use
-62265 used
-62266 useful
-62311 uses
-62312 usher
-62313 usia
-62314 ussr
-62315 usual
-62316 usurp
-62321 ut
-62322 utah
-62323 utmost
-62324 utter
-62325 uu
-62326 uuu
-62331 uuuu
-62332 uv
-62333 uvula
-62334 uvw
-62335 uw
-62336 ux
-62341 uy
-62342 uz
-62343 v
-62344 v's
-62345 v-8
-62346 va
-62351 vacuum
-62352 vague
-62353 vain
-62354 val
-62355 vale
-62356 valet
-62361 valid
-62362 valor
-62363 value
-62364 valve
-62365 vamp
-62366 van
-62411 vance
-62412 vane
-62413 vans
-62414 vapor
-62415 vary
-62416 vase
-62421 vases
-62422 vast
-62423 vat
-62424 vats
-62425 vault
-62426 vb
-62431 vc
-62432 vcr
-62433 vd
-62434 ve
-62435 veal
-62436 veep
-62441 veer
-62442 veers
-62443 veggie
-62444 veil
-62445 vein
-62446 veins
-62451 venal
-62452 vend
-62453 vendor
-62454 vends
-62455 venom
-62456 vent
-62461 vents
-62462 venus
-62463 vera
-62464 verb
-62465 verbs
-62466 verdi
-62511 verge
-62512 verify
-62513 vern
-62514 verna
-62515 verne
-62516 verse
-62521 verve
-62522 very
-62523 vessel
-62524 vest
-62525 vests
-62526 vet
-62531 veto
-62532 vets
-62533 vex
-62534 vexed
-62535 vexes
-62536 vf
-62541 vg
-62542 vh
-62543 vi
-62544 via
-62545 vial
-62546 vibes
-62551 vic
-62552 vice
-62553 vices
-62554 vicky
-62555 video
-62556 vie
-62561 viet
-62562 view
-62563 vigil
-62564 vigor
-62565 vii
-62566 viii
-62611 vile
-62612 vinci
-62613 vine
-62614 vines
-62615 vinyl
-62616 viola
-62621 violet
-62622 vip
-62623 virgil
-62624 virgo
-62625 virus
-62626 visa
-62631 vise
-62632 visit
-62633 visor
-62634 vista
-62635 vital
-62636 vito
-62641 viva
-62642 vivian
-62643 vivid
-62644 vixen
-62645 vj
-62646 vk
-62651 vl
-62652 vlad
-62653 vm
-62654 vn
-62655 vo
-62656 vocal
-62661 vodka
-62662 vogue
-62663 voice
-62664 void
-62665 volt
-62666 volts
-63111 volvo
-63112 vomit
-63113 vote
-63114 vouch
-63115 vow
-63116 vowel
-63121 vows
-63122 vp
-63123 vq
-63124 vr
-63125 vs
-63126 vt
-63131 vtol
-63132 vu
-63133 vulcan
-63134 vv
-63135 vvv
-63136 vvvv
-63141 vw
-63142 vwx
-63143 vx
-63144 vy
-63145 vz
-63146 w
-63151 w's
-63152 w/o
-63153 wa
-63154 wacko
-63155 wacky
-63156 wad
-63161 wade
-63162 wades
-63163 wafer
-63164 waffle
-63165 wag
-63166 wage
-63211 wager
-63212 wages
-63213 wagon
-63214 wags
-63215 wahoo
-63216 waif
-63221 wail
-63222 wails
-63223 waist
-63224 wait
-63225 wake
-63226 waken
-63231 waldo
-63232 walk
-63233 wall
-63234 walls
-63235 wally
-63236 walrus
-63241 walsh
-63242 walt
-63243 walton
-63244 waltz
-63245 wand
-63246 wang
-63251 want
-63252 wants
-63253 war
-63254 ward
-63255 warm
-63256 warmth
-63261 warn
-63262 warns
-63263 warp
-63264 warren
-63265 wars
-63266 wart
-63311 warts
-63312 wary
-63313 was
-63314 wash
-63315 wasp
-63316 wasps
-63321 waste
-63322 watch
-63323 water
-63324 watt
-63325 watts
-63326 wave
-63331 waved
-63332 waver
-63333 waves
-63334 wavy
-63335 wax
-63336 waxy
-63341 way
-63342 wayne
-63343 ways
-63344 wb
-63345 wc
-63346 wd
-63351 we
-63352 we'd
-63353 we'll
-63354 we're
-63355 we've
-63356 weak
-63361 wealth
-63362 wear
-63363 wears
-63364 weary
-63365 weave
-63366 web
-63411 webb
-63412 webs
-63413 wed
-63414 wedge
-63415 weds
-63416 wee
-63421 weed
-63422 weedy
-63423 week
-63424 weeks
-63425 weep
-63426 weeps
-63431 weigh
-63432 weird
-63433 welch
-63434 weld
-63435 well
-63436 wells
-63441 welsh
-63442 wendy
-63443 went
-63444 wept
-63445 were
-63446 wes
-63451 west
-63452 wet
-63453 wets
-63454 wf
-63455 wg
-63456 wh
-63461 whale
-63462 wham
-63463 wharf
-63464 what
-63465 wheat
-63466 whee
-63511 wheel
-63512 when
-63513 where
-63514 whew
-63515 which
-63516 whiff
-63521 while
-63522 whim
-63523 whine
-63524 whinny
-63525 whip
-63526 whips
-63531 whir
-63532 whirl
-63533 white
-63534 whiz
-63535 who
-63536 who'd
-63541 whoa
-63542 whole
-63543 whom
-63544 whoop
-63545 whoosh
-63546 whose
-63551 why
-63552 wi
-63553 wick
-63554 wide
-63555 widen
-63556 wider
-63561 widow
-63562 width
-63563 wield
-63564 wife
-63565 wig
-63566 wigs
-63611 wild
-63612 wiley
-63613 wilkes
-63614 will
-63615 wills
-63616 willy
-63621 wilma
-63622 wilt
-63623 wily
-63624 wimp
-63625 wimpy
-63626 win
-63631 wince
-63632 winch
-63633 wind
-63634 windy
-63635 wine
-63636 wines
-63641 wing
-63642 wings
-63643 wink
-63644 winks
-63645 winnie
-63646 wino
-63651 wins
-63652 winter
-63653 wipe
-63654 wire
-63655 wires
-63656 wiry
-63661 wise
-63662 wiser
-63663 wish
-63664 wisp
-63665 wispy
-63666 wit
-64111 witch
-64112 with
-64113 wits
-64114 witty
-64115 wj
-64116 wk
-64121 wl
-64122 wm
-64123 wn
-64124 wnw
-64125 wo
-64126 woe
-64131 woes
-64132 wok
-64133 woke
-64134 wolf
-64135 wolff
-64136 woman
-64141 womb
-64142 women
-64143 won
-64144 won't
-64145 wonder
-64146 wong
-64151 woo
-64152 wood
-64153 woods
-64154 woody
-64155 woof
-64156 wool
-64161 woos
-64162 word
-64163 words
-64164 wordy
-64165 wore
-64166 work
-64211 world
-64212 worm
-64213 worms
-64214 wormy
-64215 worn
-64216 worry
-64221 worse
-64222 worst
-64223 worth
-64224 would
-64225 wound
-64226 wove
-64231 woven
-64232 wow
-64233 wp
-64234 wq
-64235 wr
-64236 wrap
-64241 wrath
-64242 wreak
-64243 wreck
-64244 wren
-64245 wring
-64246 wrist
-64251 write
-64252 writhe
-64253 wrong
-64254 wrote
-64255 wry
-64256 ws
-64261 wsw
-64262 wt
-64263 wu
-64264 wv
-64265 ww
-64266 wwi
-64311 wwii
-64312 www
-64313 wwww
-64314 wx
-64315 wxy
-64316 wy
-64321 wyatt
-64322 wylie
-64323 wyman
-64324 wynn
-64325 wz
-64326 x
-64331 x's
-64332 xa
-64333 xb
-64334 xc
-64335 xd
-64336 xe
-64341 xerox
-64342 xf
-64343 xg
-64344 xh
-64345 xi
-64346 xii
-64351 xiii
-64352 xiv
-64353 xj
-64354 xk
-64355 xl
-64356 xm
-64361 xmas
-64362 xn
-64363 xo
-64364 xp
-64365 xq
-64366 xr
-64411 xray
-64412 xrays
-64413 xs
-64414 xt
-64415 xu
-64416 xv
-64421 xvi
-64422 xvii
-64423 xw
-64424 xx
-64425 xxx
-64426 xxxx
-64431 xy
-64432 xyz
-64433 xz
-64434 y
-64435 y'all
-64436 y's
-64441 ya
-64442 yacht
-64443 yahoo
-64444 yak
-64445 yale
-64446 yam
-64451 yamaha
-64452 yams
-64453 yang
-64454 yank
-64455 yanks
-64456 yap
-64461 yard
-64462 yards
-64463 yarn
-64464 yawn
-64465 yawns
-64466 yb
-64511 yc
-64512 yd
-64513 ye
-64514 yea
-64515 yeah
-64516 year
-64521 yearn
-64522 yeast
-64523 yeats
-64524 yell
-64525 yellow
-64526 yelp
-64531 yen
-64532 yep
-64533 yes
-64534 yet
-64535 yew
-64536 yews
-64541 yf
-64542 yg
-64543 yh
-64544 yi
-64545 yield
-64546 yin
-64551 yip
-64552 yips
-64553 yj
-64554 yk
-64555 yl
-64556 ym
-64561 yn
-64562 yo
-64563 yodel
-64564 yoga
-64565 yogi
-64566 yoke
-64611 yokel
-64612 yolk
-64613 yore
-64614 york
-64615 you
-64616 you'd
-64621 young
-64622 your
-64623 yours
-64624 youth
-64625 yoyo
-64626 yp
-64631 yq
-64632 yr
-64633 yrs
-64634 ys
-64635 yt
-64636 ytd
-64641 yu
-64642 yucca
-64643 yuck
-64644 yukon
-64645 yule
-64646 yv
-64651 yw
-64652 yx
-64653 yy
-64654 yyy
-64655 yyyy
-64656 yz
-64661 z
-64662 z's
-64663 za
-64664 zag
-64665 zap
-64666 zaps
-65111 zb
-65112 zc
-65113 zd
-65114 ze
-65115 zeal
-65116 zealot
-65121 zebra
-65122 zeke
-65123 zen
-65124 zero
-65125 zest
-65126 zesty
-65131 zeta
-65132 zf
-65133 zg
-65134 zh
-65135 zi
-65136 zig
-65141 ziggy
-65142 zigzag
-65143 zilch
-65144 zinc
-65145 zing
-65146 zion
-65151 zip
-65152 zips
-65153 ziti
-65154 zj
-65155 zk
-65156 zl
-65161 zm
-65162 zn
-65163 zo
-65164 zoe
-65165 zone
-65166 zoned
-65211 zoo
-65212 zoom
-65213 zooms
-65214 zoos
-65215 zowie
-65216 zp
-65221 zq
-65222 zr
-65223 zs
-65224 zt
-65225 zu
-65226 zulu
-65231 zv
-65232 zw
-65233 zx
-65234 zy
-65235 zz
-65236 zzz
-65241 zzzz
-65242 !
-65243 !!
-65244 """"
-65245 #
-65246 ##
-65251 $
-65252 $$
-65253 %
-65254 %%
-65255 &
-65256 (
-65261 ()
-65262 (c)
-65263 (r)
-65264 (tm)
-65265 )
-65266 *
-65311 **
-65312 +
-65313 -
-65314 0
-65315 007
-65316 1
-65321 1%
-65322 1/2
-65323 1/3
-65324 1/4
-65325 1/8
-65326 10
-65331 10%
-65332 100
-65333 100%
-65334 1000
-65335 100th
-65336 101
-65341 101st
-65342 10:00
-65343 10:30
-65344 10th
-65345 11
-65346 111
-65351 1111
-65352 11:00
-65353 11:30
-65354 11th
-65355 12
-65356 123
-65361 1234
-65362 12:00
-65363 12:30
-65364 12th
-65365 13
-65366 13th
-65411 14
-65412 1492
-65413 14th
-65414 15
-65415 15%
-65416 1500
-65421 15th
-65422 16
-65423 1600
-65424 16th
-65425 17
-65426 1700
-65431 1776
-65432 17th
-65433 18
-65434 1800
-65435 18th
-65436 19
-65441 1900
-65442 1910
-65443 1920
-65444 1925
-65445 1930
-65446 1935
-65451 1940
-65452 1945
-65453 1950
-65454 1955
-65455 1960
-65456 1965
-65461 1970
-65462 1975
-65463 1980
-65464 1985
-65465 1990
-65466 1991
-65511 1992
-65512 1993
-65513 1994
-65514 1995
-65515 1996
-65516 1997
-65521 19th
-65522 1:00
-65523 1:30
-65524 1st
-65525 2
-65526 2%
-65531 2/3
-65532 20
-65533 20%
-65534 200
-65535 2000
-65536 2001
-65541 2020
-65542 20th
-65543 21
-65544 21st
-65545 22
-65546 222
-65551 2222
-65552 22nd
-65553 23
-65554 234
-65555 2345
-65556 23rd
-65561 24
-65562 2468
-65563 24th
-65564 25
-65565 25%
-65566 25th
-65611 26
-65612 26th
-65613 27
-65614 27th
-65615 28
-65616 28th
-65621 29
-65622 29th
-65623 2:00
-65624 2:30
-65625 2nd
-65626 3
-65631 3%
-65632 3/4
-65633 3/8
-65634 30
-65635 30%
-65636 300
-65641 3000
-65642 30th
-65643 31
-65644 31st
-65645 32
-65646 32nd
-65651 33
-65652 333
-65653 3333
-65654 33rd
-65655 34
-65656 345
-65661 3456
-65662 34th
-65663 35
-65664 35%
-65665 35th
-65666 36
-66111 36th
-66112 37
-66113 37th
-66114 38
-66115 38th
-66116 39
-66121 39th
-66122 3:00
-66123 3:30
-66124 3rd
-66125 4
-66126 4%
-66131 40
-66132 40%
-66133 400
-66134 4000
-66135 40th
-66136 41
-66141 41st
-66142 42
-66143 42nd
-66144 43
-66145 4321
-66146 43rd
-66151 44
-66152 444
-66153 4444
-66154 44th
-66155 45
-66156 45%
-66161 456
-66162 4567
-66163 45th
-66164 46
-66165 46th
-66166 47
-66211 47th
-66212 48
-66213 48th
-66214 49
-66215 49th
-66216 4:00
-66221 4:30
-66222 4th
-66223 5
-66224 5%
-66225 5/8
-66226 50
-66231 50%
-66232 500
-66233 5000
-66234 50th
-66235 51
-66236 51st
-66241 52
-66242 52nd
-66243 53
-66244 53rd
-66245 54
-66246 54th
-66251 55
-66252 55%
-66253 555
-66254 5555
-66255 55th
-66256 56
-66261 567
-66262 5678
-66263 56th
-66264 57
-66265 57th
-66266 58
-66311 58th
-66312 59
-66313 59th
-66314 5:00
-66315 5:30
-66316 5th
-66321 6
-66322 6%
-66323 60
-66324 60%
-66325 600
-66326 6000
-66331 60th
-66332 61
-66333 61st
-66334 62
-66335 62nd
-66336 63
-66341 63rd
-66342 64
-66343 65
-66344 65%
-66345 65th
-66346 66
-66351 666
-66352 6666
-66353 66th
-66354 67
-66355 678
-66356 6789
-66361 67th
-66362 68
-66363 68th
-66364 69
-66365 69th
-66366 6:00
-66411 6:30
-66412 6th
-66413 7
-66414 7%
-66415 7/8
-66416 70
-66421 70%
-66422 700
-66423 7000
-66424 70th
-66425 71
-66426 71st
-66431 72
-66432 72nd
-66433 73
-66434 73rd
-66435 74
-66436 74th
-66441 75
-66442 75%
-66443 75th
-66444 76
-66445 76th
-66446 77
-66451 777
-66452 7777
-66453 77th
-66454 78
-66455 789
-66456 78th
-66461 79
-66462 79th
-66463 7:00
-66464 7:30
-66465 7th
-66466 8
-66511 8%
-66512 80
-66513 80%
-66514 800
-66515 8000
-66516 80th
-66521 81
-66522 81st
-66523 82
-66524 82nd
-66525 83
-66526 83rd
-66531 84
-66532 84th
-66533 85
-66534 85%
-66535 85th
-66536 86
-66541 86th
-66542 87
-66543 87th
-66544 88
-66545 888
-66546 8888
-66551 88th
-66552 89
-66553 89th
-66554 8:00
-66555 8:30
-66556 8th
-66561 9
-66562 9%
-66563 9-5
-66564 90
-66565 90%
-66566 900
-66611 9000
-66612 90th
-66613 91
-66614 91st
-66615 92
-66616 92nd
-66621 93
-66622 93rd
-66623 94
-66624 94th
-66625 95
-66626 95%
-66631 95th
-66632 96
-66633 96th
-66634 97
-66635 97th
-66636 98
-66641 98%
-66642 98.6
-66643 9876
-66644 98th
-66645 99
-66646 99%
-66651 999
-66652 9999
-66653 99th
-66654 9:00
-66655 9:30
-66656 9th
-66661 :
-66662 ;
-66663 =
-66664 ?
-66665 ??
-66666 @
------BEGIN PGP SIGNATURE-----
-Version: PGP for Personal Privacy 5.0
-Charset: noconv
-
-iQCVAwUBNX6aTGtruC2sMYShAQGSwAP9F8usVblyi+QEHjxuiltBxT0u6GTHM/Cn
-WgT+GYMRBbOMyDqe9KKyO4oryqWLnS83O8L9uLaEBqNXxEDm8KPGBB/l9CSUMCsC
-cD1hx8NQ/LpfjgRnngLSVvdjNmECg8OgKom2dht6oVHN8q+FQhmiqmndS72lTSOO
-jOuFf/otw7o=
-=7B7m
------END PGP SIGNATURE-----
Modified: trunk/demo/cgi-bin/confirm.py
===================================================================
--- trunk/demo/cgi-bin/confirm.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/cgi-bin/confirm.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -3,8 +3,13 @@
import smtplib
import httplib
import base64
+import sys
+import os
from popen2 import Popen3
+# You might want to change this:
+sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'lib'))
+
from demo import Demo
from register import html_template
import democonfig
Deleted: trunk/demo/cgi-bin/demo.py
===================================================================
--- trunk/demo/cgi-bin/demo.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/cgi-bin/demo.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,135 +0,0 @@
-"""
-The 'database' for the demo registration app.
-
-$Id$
-"""
-import os
-import fcntl
-import csv
-import time
-import datetime
-import random
-import md5
-
-
-def genpasswd():
- """Generate a random password in the form of 'foo123bar'."""
- path = os.path.join(os.path.dirname(__file__), '..', "beale.wordlist.asc")
- lines = file(path).readlines()
- lines = lines[2:6**5+2] # remove the PGP sig
- words = [word for nr, word in [line.split() for line in lines]]
- return "%s%d%s" % (random.choice(words), random.randint(100,1000),
- random.choice(words))
-
-
-class DemoDB:
- """The data storage backend for the demo registration app.
-
- Stores data as CSV on disk, does FS level locking.
- """
-
- def __init__(self, filename):
- """Open the data file and lock it."""
- self.filename = filename
- self.file = file(self.filename, "a+")
- fcntl.flock(self.file, fcntl.LOCK_EX)
-
- def __iter__(self):
- """Return an iterator over rows of a file."""
- return csv.reader(self.file)
-
- def writerows(self, rows):
- """Write the rows into the CSV file."""
- self.file.seek(0)
- self.file.truncate()
- # XXX it is possible to lose data if write fails now
- writer = csv.writer(self.file)
- return writer.writerows(rows)
-
- def close(self):
- """Unlock and close the data file."""
- self.file.close()
-
-
-class Demo:
- """The object containing the application logic."""
-
- def __init__(self, dbfile):
- """Open and lock the database file.
-
- Does not load the database until you explicitly call load.
- """
- self.db = DemoDB(dbfile)
- self.users = []
-
- def load(self):
- """Load the user list from the database."""
- for record in self.db:
- (datestr, name, email, company, position, comments,
- hash, status, password, instancestr) = record
- struct_time = time.strptime(datestr, "%Y-%m-%d %H:%M:%S")
- date = datetime.datetime(*struct_time[:6])
- try:
- instance = int(instancestr)
- except ValueError:
- instance = None
- self.users.append(
- User(date, name, email, company, position, comments,
- hash, status, password, instance))
-
- def save(self):
- """Save the user list to the database."""
- data = []
- for user in self.users:
- data.append([user.date.strftime("%Y-%m-%d %H:%M:%S"),
- user.name, user.email, user.company,
- user.position, user.comments, user.hash,
- user.status, user.password,
- str(user.instance)])
- self.db.writerows(data)
-
- def new(self, name, email, company, position, comments=''):
- """Add a new user and return the User object."""
- password = genpasswd()
- hash = md5.md5("%s %d" % (email, random.randint(0,10000))).hexdigest()
- hash = hash[:8] # long hashes are unnecessary and might cause wrapping
- user = User(datetime.datetime.now(), name, email, company,
- position, comments, hash, 'new', password, '')
- self.users.append(user)
- return user
-
- def getByHash(self, hash):
- """Locate a user by hash."""
- for user in self.users:
- if user.hash == hash:
- return user
- raise KeyError(hash)
-
- def getByInstance(self, instance):
- """Locate a user by instance number."""
- for user in self.users:
- if user.instance == instance:
- return user
- raise KeyError(hash)
-
- def close(self):
- """Unlock and close the database."""
- self.db.close()
-
-
-class User:
- """User record."""
-
- def __init__(self, date, name, email, company, position, comments,
- hash, status, password, instance):
- self.date = date
- self.name = name
- self.email = email
- self.company = company
- self.position = position
- self.comments = comments
- self.hash = hash
- self.status = status
- self.password = password
- self.instance = instance
-
Modified: trunk/demo/cgi-bin/register.py
===================================================================
--- trunk/demo/cgi-bin/register.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/cgi-bin/register.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,7 +1,12 @@
#!/usr/bin/python2.3
import cgi
import smtplib
+import sys
+import os
+# You might want to change this:
+sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'lib'))
+
from demo import Demo
import democonfig
Deleted: trunk/demo/cgi-bin/tests.py
===================================================================
--- trunk/demo/cgi-bin/tests.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/cgi-bin/tests.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,194 +0,0 @@
-#!/usr/bin/env python2.3
-"""
-Unit tests for the demo app.
-
-$Id$
-"""
-
-import unittest
-import fcntl
-import os
-import tempfile
-import shutil
-import datetime
-import csv
-
-class FileSetupMixin:
-
- def setUp(self):
- self.dir = tempfile.mkdtemp()
- self.file = os.path.join(self.dir, 'test.storage')
-
- def tearDown(self):
- shutil.rmtree(self.dir, True)
-
-
-class TestDemoDB(FileSetupMixin, unittest.TestCase):
-
- def test_locking(self):
- from demo import DemoDB
- db = DemoDB(self.file)
- self.assert_(os.path.exists(self.file))
- f = file(self.file)
- self.assertRaises(IOError,
- fcntl.flock, f, fcntl.LOCK_EX | fcntl.LOCK_NB)
- db.close()
- fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)
-
- def test_open(self):
- from demo import DemoDB
- f = file(self.file, "w")
- print >> f, ('"2004-04-01 12:00:00","User","email","school",'
- '"position","comment",123,"active",password,3')
- f.close()
- db = DemoDB(self.file)
- result = list(db)
- self.assertEqual(result, [['2004-04-01 12:00:00', 'User',
- 'email', 'school', 'position', 'comment',
- '123', 'active', 'password', '3']])
- db.close()
-
- def test_writerows(self):
- from demo import DemoDB
- db = DemoDB(self.file)
- data = [['2004-04-01 12:00:00', 'User', 'email', 'school',
- 'position', 'comment', '123', 'active', 'password', '3']]
- db.writerows(data)
- db.close()
- self.assertEqual(list(csv.reader(file(self.file))),
- data)
-
-class DBStub:
- def writerows(self, rows):
- self.data = list(rows)
-
-class TestDemo(FileSetupMixin, unittest.TestCase):
-
- def test_load(self):
- from demo import Demo, User
- d = Demo(self.file)
- d.db = iter([['2004-04-01 12:00:00', 'User', 'email', 'school',
- 'position', 'comment', '123', 'active', 'passwd', '3'],
- ['2004-04-01 12:01:00', 'User2', 'email2', 'school2',
- 'position', 'comment', '123', 'active', 'passwd2', '4'],
- ])
- d.load()
- self.assertEqual(len(d.users), 2)
- self.assert_(isinstance(d.users[0], User))
- self.assertEqual(d.users[0].instance, 3)
- self.assertEqual(d.users[0].date,
- datetime.datetime(2004, 4, 1, 12, 0))
-
- self.assert_(isinstance(d.users[1], User))
- self.assertEqual(d.users[1].instance, 4)
- self.assertEqual(d.users[1].date,
- datetime.datetime(2004, 4, 1, 12, 1))
-
- def test_save(self):
- from demo import Demo, User
- demo = Demo(self.file)
- demo.db = DBStub()
- datetime.datetime(2004, 1, 1, 12,0,0)
- demo.users = [
- User(datetime.datetime(2004, 1, 1, 12,0),
- "Albertas", "alga at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool",
- '1234', 'active', 'xyzzy', 42),
- User(datetime.datetime(2004, 1, 1, 12,1),
- "Gintas", "gintas at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool too",
- '1234', 'active', 'furrfu', 43),
- ]
- demo.save()
- self.assertEqual(demo.db.data,
- [['2004-01-01 12:00:00', "Albertas",
- "alga at example.com", "PoV", "programmer",
- "I want to migrate to Schooltool", '1234',
- 'active', 'xyzzy', '42'],
- ['2004-01-01 12:01:00', "Gintas",
- "gintas at example.com", "PoV", "programmer",
- "I want to migrate to Schooltool too", '1234',
- 'active', 'furrfu', '43']])
-
- def test_getByHash(self):
- from demo import Demo, User
- demo = Demo(self.file)
- demo.db = DBStub()
- datetime.datetime(2004, 1, 1, 12,0,0)
- demo.users = [
- User(datetime.datetime(2004, 1, 1, 12,0),
- "Albertas", "alga at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool",
- '1234', 'active', 'xyzzy', 42),
- User(datetime.datetime(2004, 1, 1, 12,1),
- "Gintas", "gintas at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool too",
- '4321', 'active', 'furrfu', 43),
- ]
- self.assertEqual(demo.getByHash('1234'), demo.users[0])
- self.assertEqual(demo.getByHash('4321'), demo.users[1])
- self.assertRaises(KeyError, demo.getByHash, '1111')
-
- def test_getByInstance(self):
- from demo import Demo, User
- demo = Demo(self.file)
- demo.db = DBStub()
- datetime.datetime(2004, 1, 1, 12,0,0)
- demo.users = [
- User(datetime.datetime(2004, 1, 1, 12,0),
- "Albertas", "alga at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool",
- '1234', 'active', 'xyzzy', 42),
- User(datetime.datetime(2004, 1, 1, 12,1),
- "Gintas", "gintas at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool too",
- '4321', 'active', 'furrfu', 43),
- ]
- self.assertEqual(demo.getByInstance(42), demo.users[0])
- self.assertEqual(demo.getByInstance(43), demo.users[1])
- self.assertRaises(KeyError, demo.getByInstance, 41)
-
- def test_new(self):
- from demo import Demo, User
- demo = Demo(self.file)
- demo.db = DBStub()
- datetime.datetime(2004, 1, 1, 12,0,0)
- demo.users = [
- User(datetime.datetime(2004, 1, 1, 12,0),
- "Albertas", "alga at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool",
- '1234', 'active', 'xyzzy', 42),
- User(datetime.datetime(2004, 1, 1, 12,1),
- "Gintas", "gintas at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool too",
- '4321', 'active', 'furrfu', 43),
- ]
- result = demo.new('Marius', 'mg at localhost', 'Pov', 'hacker', '')
- self.assertEqual(len(demo.users), 3)
- self.assertEqual(demo.users[2], result)
- self.assert_(result.password)
- self.assertEqual(len(result.hash), 8)
-
-
-class TestUser(unittest.TestCase):
-
- def test(self):
- from demo import User
- date = datetime.datetime(2004, 1, 1, 12,0,0)
- user = User(date, "Albertas", "alga at example.com", "PoV",
- "programmer", "I want to migrate to Schooltool",
- '1234', 'active', 'xyzzy', 42)
- self.assertEqual(user.date, date)
- self.assertEqual(user.name, "Albertas")
- self.assertEqual(user.email, "alga at example.com")
- self.assertEqual(user.company, "PoV")
- self.assertEqual(user.position, "programmer")
- self.assertEqual(user.comments, "I want to migrate to Schooltool")
- self.assertEqual(user.hash, '1234')
- self.assertEqual(user.status, 'active')
- self.assertEqual(user.password, 'xyzzy')
- self.assertEqual(user.instance, 42)
-
-
-if __name__ == '__main__':
- unittest.main()
Deleted: trunk/demo/democonfig.py
===================================================================
--- trunk/demo/democonfig.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/democonfig.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-import os
-
-# -- paths --
-
-# XXX this will need to be customized by anyone trying to use the scripts
-ROOT_PATH = '/home/gintas/devel/schooltool/demo/tmp'
-
-BIN_PATH = os.path.join(ROOT_PATH, 'bin')
-INSTANCE_PATH = os.path.join(ROOT_PATH, 'var')
-
-SCHOOLTOOL_NEW = os.path.join(BIN_PATH, 'schooltool-new')
-DEMO_CTL = os.path.join(BIN_PATH, 'demo-ctl.py')
-USER_DB = os.path.join(INSTANCE_PATH, 'users.csv')
-
-# -- misc --
-
-HOST = 'demo'
-SMTP_SERVER = 'localhost'
-REG_CONFIRM_URL = 'http://%s/cgi-bin/confirm.py' % HOST
-
-# The number of seconds an instance needs to be inactive (determined from
-# the hitlog) before it is deleted.
-EXPIRY_TIME = 7*24*60*60 # = 1 week
-
-BASE_PORT = 10000
-BASE_USER = 10000
-BASE_GROUP = 10000
-
-MAX_INSTANCES = 1000
Copied: trunk/demo/lib/beale.wordlist.asc (from rev 873, trunk/demo/beale.wordlist.asc)
Copied: trunk/demo/lib/demo.py (from rev 873, trunk/demo/cgi-bin/demo.py)
===================================================================
--- trunk/demo/cgi-bin/demo.py 2004-05-07 08:05:24 UTC (rev 873)
+++ trunk/demo/lib/demo.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -0,0 +1,135 @@
+"""
+The 'database' for the demo registration app.
+
+$Id$
+"""
+import os
+import fcntl
+import csv
+import time
+import datetime
+import random
+import md5
+
+
+def genpasswd():
+ """Generate a random password in the form of 'foo123bar'."""
+ path = os.path.join(os.path.dirname(__file__), "beale.wordlist.asc")
+ lines = file(path).readlines()
+ lines = lines[2:6**5+2] # remove the PGP sig
+ words = [word for nr, word in [line.split() for line in lines]]
+ return "%s%d%s" % (random.choice(words), random.randint(100,1000),
+ random.choice(words))
+
+
+class DemoDB:
+ """The data storage backend for the demo registration app.
+
+ Stores data as CSV on disk, does FS level locking.
+ """
+
+ def __init__(self, filename):
+ """Open the data file and lock it."""
+ self.filename = filename
+ self.file = file(self.filename, "a+")
+ fcntl.flock(self.file, fcntl.LOCK_EX)
+
+ def __iter__(self):
+ """Return an iterator over rows of a file."""
+ return csv.reader(self.file)
+
+ def writerows(self, rows):
+ """Write the rows into the CSV file."""
+ self.file.seek(0)
+ self.file.truncate()
+ # XXX it is possible to lose data if write fails now
+ writer = csv.writer(self.file)
+ return writer.writerows(rows)
+
+ def close(self):
+ """Unlock and close the data file."""
+ self.file.close()
+
+
+class Demo:
+ """The object containing the application logic."""
+
+ def __init__(self, dbfile):
+ """Open and lock the database file.
+
+ Does not load the database until you explicitly call load.
+ """
+ self.db = DemoDB(dbfile)
+ self.users = []
+
+ def load(self):
+ """Load the user list from the database."""
+ for record in self.db:
+ (datestr, name, email, company, position, comments,
+ hash, status, password, instancestr) = record
+ struct_time = time.strptime(datestr, "%Y-%m-%d %H:%M:%S")
+ date = datetime.datetime(*struct_time[:6])
+ try:
+ instance = int(instancestr)
+ except ValueError:
+ instance = None
+ self.users.append(
+ User(date, name, email, company, position, comments,
+ hash, status, password, instance))
+
+ def save(self):
+ """Save the user list to the database."""
+ data = []
+ for user in self.users:
+ data.append([user.date.strftime("%Y-%m-%d %H:%M:%S"),
+ user.name, user.email, user.company,
+ user.position, user.comments, user.hash,
+ user.status, user.password,
+ str(user.instance)])
+ self.db.writerows(data)
+
+ def new(self, name, email, company, position, comments=''):
+ """Add a new user and return the User object."""
+ password = genpasswd()
+ hash = md5.md5("%s %d" % (email, random.randint(0,10000))).hexdigest()
+ hash = hash[:8] # long hashes are unnecessary and might cause wrapping
+ user = User(datetime.datetime.now(), name, email, company,
+ position, comments, hash, 'new', password, '')
+ self.users.append(user)
+ return user
+
+ def getByHash(self, hash):
+ """Locate a user by hash."""
+ for user in self.users:
+ if user.hash == hash:
+ return user
+ raise KeyError(hash)
+
+ def getByInstance(self, instance):
+ """Locate a user by instance number."""
+ for user in self.users:
+ if user.instance == instance:
+ return user
+ raise KeyError(hash)
+
+ def close(self):
+ """Unlock and close the database."""
+ self.db.close()
+
+
+class User:
+ """User record."""
+
+ def __init__(self, date, name, email, company, position, comments,
+ hash, status, password, instance):
+ self.date = date
+ self.name = name
+ self.email = email
+ self.company = company
+ self.position = position
+ self.comments = comments
+ self.hash = hash
+ self.status = status
+ self.password = password
+ self.instance = instance
+
Copied: trunk/demo/lib/democonfig.py (from rev 873, trunk/demo/democonfig.py)
===================================================================
--- trunk/demo/democonfig.py 2004-05-07 08:05:24 UTC (rev 873)
+++ trunk/demo/lib/democonfig.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+import os
+
+# -- paths --
+
+# XXX this will need to be customized by anyone trying to use the scripts
+BIN_PATH = '/opt/schooltool-demo/bin'
+INSTANCE_PATH = '/srv/schooltool-demo'
+
+SCHOOLTOOL_NEW = os.path.join(BIN_PATH, 'schooltool-new')
+DEMO_CTL = os.path.join(BIN_PATH, 'democtl')
+USER_DB = os.path.join(INSTANCE_PATH, 'users.csv')
+
+# -- misc --
+
+HOST = 'demo'
+SMTP_SERVER = 'localhost'
+REG_CONFIRM_URL = 'http://%s/cgi-bin/confirm.py' % HOST
+
+# The number of seconds an instance needs to be inactive (determined from
+# the hitlog) before it is deleted.
+EXPIRY_TIME = 7*24*60*60 # = 1 week
+
+BASE_PORT = 10000
+BASE_USER = 10000
+BASE_GROUP = 10000
+
+MAX_INSTANCES = 10
Modified: trunk/demo/scripts/cleanup.py
===================================================================
--- trunk/demo/scripts/cleanup.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/scripts/cleanup.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -10,6 +10,10 @@
import re
import sys
import time
+
+# You might want to change this:
+sys.path.insert(0, os.path.join(os.path.basename(__file__), 'lib'))
+
import democonfig
DATE_FORMAT = '%d/%b/%Y:%H:%M:%S'
Deleted: trunk/demo/scripts/demo-ctl.py
===================================================================
--- trunk/demo/scripts/demo-ctl.py 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/scripts/demo-ctl.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,190 +0,0 @@
-#!/usr/bin/python
-"""A simple script to manage schooltool instances.
-
-Usage: %s [start|stop|status|create|destroy] instance-id
-
-Returns:
-0 on success,
-1 if there were problems (or status is "not running"),
-2 if the parameters are invalid.
-
-Functions useful externally (might raise ValueErrors):
-
-start(id), stop(id), running(id), create(id), destroy(id)
-
-"""
-
-import sys
-import os
-import democonfig
-
-# Full path to Debian's start-stop-daemon
-START_STOP_DAEMON = '/sbin/start-stop-daemon'
-
-# Full path to the SchoolTool server executable
-SCHOOLTOOL_SERVER = '/usr/bin/schooltool-server'
-
-# Process name as seen in /proc/$PID/status.
-# Essentially it is os.path.basename(SCHOOLTOOL_SERVER)[:15]
-SCHOOLTOOL_SERVER_PNAME = 'schooltool-serv'
-
-# Template for an instance configuration file
-CONF_TEMPLATE = """# SchoolTool server configuration file
-listen %(port)d
-
-<zodb>
- <filestorage>
- path %(db_path)s
- </filestorage>
-</zodb>
-
-pid-file %(pid_path)s
-error-log-file %(errorlog_path)s
-access-log-file %(accesslog_path)s
-"""
-
-# Command used to start an instance
-START_CMD = (START_STOP_DAEMON + " --start --quiet --oknodo"
- " --pidfile %(pid_path)s --chuid %(uid)d:%(gid)d --startas "
- + SCHOOLTOOL_SERVER + " -- -d -c %(conf_path)s > /dev/null")
-
-# Command used to stop an instance
-STOP_CMD = (START_STOP_DAEMON + " --stop --quiet --oknodo"
- " --pidfile %(pid_path)s --name " + SCHOOLTOOL_SERVER_PNAME +
- " > /dev/null")
-
-def die(msg):
- """Print a message to stderr and die with error code 2."""
- print >>sys.stderr, msg
- sys.exit(2)
-
-def path(id, file=''):
- """Return path of file (optional) in instance id."""
- return os.path.join(democonfig.INSTANCE_PATH, str(id), file)
-
-def exists(id):
- """Check if an instance exists."""
- return os.path.exists(path(id))
-
-def running(id):
- """Check if an instance is running."""
- if not exists(id):
- raise ValueError("Instance with id %d does not exist!" % id)
- return os.path.exists(path(id, 'pid'))
-
-def start(id):
- """Start an instance (it should be created first)."""
- if not exists(id):
- raise ValueError("Instance with id %d does not exist!" % id)
- vars = {
- 'pid_path': path(id, 'pid'),
- 'uid': democonfig.BASE_USER + id,
- 'gid': democonfig.BASE_GROUP + id,
- 'conf_path': path(id, 'conf'),
- }
- cmd = START_CMD % vars
- retval = os.system(cmd)
- if retval != 0:
- raise ValueError("Failed to start instance %d, "
- "start-stop-daemon returned %d" % (id, retval))
-
-def stop(id):
- """Stop an instance."""
- pid_path = path(id, 'pid')
- vars = {
- 'pid_path': pid_path,
- }
- cmd = STOP_CMD % vars
- retval = os.system(cmd)
- if retval != 0:
- raise ValueError("Failed to stop instance %d, "
- "start-stop-daemon returned %d" % (id, retval))
- try:
- os.unlink(pid_path)
- except OSError:
- pass
- else:
- print >>sys.stderr, "Removed stale pidfile for instance %d." % id
-
-def create(id):
- """Set up an instance."""
- if exists(id):
- raise ValueError("Instance with id %d already exists!" % id)
-
- # Harmless race: if an instance happens to appear after we checked but
- # before we call os.mkdir, the mkdir call will simply fail.
-
- uid = democonfig.BASE_USER + id
- gid = democonfig.BASE_GROUP + id
- try:
- os.mkdir(path(id))
- os.chown(path(id), uid, gid)
- except OSError, e:
- raise ValueError(str(e)) # XXX
-
- vars = {
- 'port': democonfig.BASE_PORT + id,
- 'db_path': path(id, 'Data.fs'),
- 'pid_path': path(id, 'pid'),
- 'errorlog_path': path(id, 'error.log'),
- 'accesslog_path': path(id, 'access.log'),
- }
- f = file(path(id, 'conf'), 'w')
- f.write(CONF_TEMPLATE % vars)
- f.close()
-
-def destroy(id):
- """Remove an instance completely."""
- # Try to stop the instance in case it is currently running.
- stop(id)
-
- for filename in ['Data.fs', 'Data.fs.index', 'Data.fs.lock',
- 'Data.fs.tmp', 'error.log', 'access.log', 'conf']:
- try:
- os.remove(path(id, filename))
- except OSError:
- pass # some of these files may not exist
-
- try:
- os.rmdir(path(id))
- except OSError, e:
- raise ValueError(str(e)) # XXX
-
-
-def main():
- if len(sys.argv) != 3:
- die("Usage: %s [start|stop|status|create|destroy]"
- " instance-id" % sys.argv[0])
-
- cmd, id = sys.argv[1:3]
- try:
- id = int(id)
- except ValueError:
- die("Instance id must be an integer.")
- if id < 1 or id > democonfig.MAX_INSTANCES:
- die("Instance limit reached!")
-
- try:
- if cmd == 'start':
- start(id)
- elif cmd == 'stop':
- stop(id)
- elif cmd == 'status':
- if running(id):
- print "Instance %d is running." % id
- else:
- print "Instance %d is NOT running." % id
- sys.exit(1)
- elif cmd == 'create':
- create(id)
- elif cmd == 'destroy':
- destroy(id)
- else:
- print >>sys.stderr, "Unrecognized command: %s" % cmd
- sys.exit(2)
- except ValueError, e:
- print >>sys.stderr, e
- sys.exit(1)
-
-if __name__ == '__main__':
- main()
Modified: trunk/demo/scripts/democonfig.h
===================================================================
--- trunk/demo/scripts/democonfig.h 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/scripts/democonfig.h 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,7 +1,7 @@
/* Use fully qualified pathnames here. */
-#define DEMO_CTL "/home/gintas/devel/schooltool/demo/tmp/bin/demo-ctl.py"
-#define INSTANCE_PATH "/home/gintas/devel/schooltool/demo/tmp/var"
+#define DEMO_CTL "/opt/schooltool-demo/bin/democtl"
+#define INSTANCE_PATH "/srv/schooltool-demo"
#define PYTHON "/usr/bin/python2.3"
-#define MAX_INSTANCES 1000
+#define MAX_INSTANCES 10
Copied: trunk/demo/scripts/democtl.py (from rev 873, trunk/demo/scripts/demo-ctl.py)
===================================================================
--- trunk/demo/scripts/demo-ctl.py 2004-05-07 08:05:24 UTC (rev 873)
+++ trunk/demo/scripts/democtl.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -0,0 +1,194 @@
+#!/usr/bin/python
+"""A simple script to manage schooltool instances.
+
+Usage: %s [start|stop|status|create|destroy] instance-id
+
+Returns:
+0 on success,
+1 if there were problems (or status is "not running"),
+2 if the parameters are invalid.
+
+Functions useful externally (might raise ValueErrors):
+
+start(id), stop(id), running(id), create(id), destroy(id)
+
+"""
+
+import sys
+import os
+
+# You might want to change this:
+sys.path.insert(0, os.path.join(os.path.basename(__file__), 'lib'))
+
+import democonfig
+
+# Full path to Debian's start-stop-daemon
+START_STOP_DAEMON = '/sbin/start-stop-daemon'
+
+# Full path to the SchoolTool server executable
+SCHOOLTOOL_SERVER = '/usr/bin/schooltool-server'
+
+# Process name as seen in /proc/$PID/status.
+# Essentially it is os.path.basename(SCHOOLTOOL_SERVER)[:15]
+SCHOOLTOOL_SERVER_PNAME = 'schooltool-serv'
+
+# Template for an instance configuration file
+CONF_TEMPLATE = """# SchoolTool server configuration file
+listen %(port)d
+
+<zodb>
+ <filestorage>
+ path %(db_path)s
+ </filestorage>
+</zodb>
+
+pid-file %(pid_path)s
+error-log-file %(errorlog_path)s
+access-log-file %(accesslog_path)s
+"""
+
+# Command used to start an instance
+START_CMD = (START_STOP_DAEMON + " --start --quiet --oknodo"
+ " --pidfile %(pid_path)s --chuid %(uid)d:%(gid)d --startas "
+ + SCHOOLTOOL_SERVER + " -- -d -c %(conf_path)s > /dev/null")
+
+# Command used to stop an instance
+STOP_CMD = (START_STOP_DAEMON + " --stop --quiet --oknodo"
+ " --pidfile %(pid_path)s --name " + SCHOOLTOOL_SERVER_PNAME +
+ " > /dev/null")
+
+def die(msg):
+ """Print a message to stderr and die with error code 2."""
+ print >>sys.stderr, msg
+ sys.exit(2)
+
+def path(id, file=''):
+ """Return path of file (optional) in instance id."""
+ return os.path.join(democonfig.INSTANCE_PATH, str(id), file)
+
+def exists(id):
+ """Check if an instance exists."""
+ return os.path.exists(path(id))
+
+def running(id):
+ """Check if an instance is running."""
+ if not exists(id):
+ raise ValueError("Instance with id %d does not exist!" % id)
+ return os.path.exists(path(id, 'pid'))
+
+def start(id):
+ """Start an instance (it should be created first)."""
+ if not exists(id):
+ raise ValueError("Instance with id %d does not exist!" % id)
+ vars = {
+ 'pid_path': path(id, 'pid'),
+ 'uid': democonfig.BASE_USER + id,
+ 'gid': democonfig.BASE_GROUP + id,
+ 'conf_path': path(id, 'conf'),
+ }
+ cmd = START_CMD % vars
+ retval = os.system(cmd)
+ if retval != 0:
+ raise ValueError("Failed to start instance %d, "
+ "start-stop-daemon returned %d" % (id, retval))
+
+def stop(id):
+ """Stop an instance."""
+ pid_path = path(id, 'pid')
+ vars = {
+ 'pid_path': pid_path,
+ }
+ cmd = STOP_CMD % vars
+ retval = os.system(cmd)
+ if retval != 0:
+ raise ValueError("Failed to stop instance %d, "
+ "start-stop-daemon returned %d" % (id, retval))
+ try:
+ os.unlink(pid_path)
+ except OSError:
+ pass
+ else:
+ print >>sys.stderr, "Removed stale pidfile for instance %d." % id
+
+def create(id):
+ """Set up an instance."""
+ if exists(id):
+ raise ValueError("Instance with id %d already exists!" % id)
+
+ # Harmless race: if an instance happens to appear after we checked but
+ # before we call os.mkdir, the mkdir call will simply fail.
+
+ uid = democonfig.BASE_USER + id
+ gid = democonfig.BASE_GROUP + id
+ try:
+ os.mkdir(path(id))
+ os.chown(path(id), uid, gid)
+ except OSError, e:
+ raise ValueError(str(e)) # XXX
+
+ vars = {
+ 'port': democonfig.BASE_PORT + id,
+ 'db_path': path(id, 'Data.fs'),
+ 'pid_path': path(id, 'pid'),
+ 'errorlog_path': path(id, 'error.log'),
+ 'accesslog_path': path(id, 'access.log'),
+ }
+ f = file(path(id, 'conf'), 'w')
+ f.write(CONF_TEMPLATE % vars)
+ f.close()
+
+def destroy(id):
+ """Remove an instance completely."""
+ # Try to stop the instance in case it is currently running.
+ stop(id)
+
+ for filename in ['Data.fs', 'Data.fs.index', 'Data.fs.lock',
+ 'Data.fs.tmp', 'error.log', 'access.log', 'conf']:
+ try:
+ os.remove(path(id, filename))
+ except OSError:
+ pass # some of these files may not exist
+
+ try:
+ os.rmdir(path(id))
+ except OSError, e:
+ raise ValueError(str(e)) # XXX
+
+
+def main():
+ if len(sys.argv) != 3:
+ die("Usage: %s [start|stop|status|create|destroy]"
+ " instance-id" % sys.argv[0])
+
+ cmd, id = sys.argv[1:3]
+ try:
+ id = int(id)
+ except ValueError:
+ die("Instance id must be an integer.")
+ if id < 1 or id > democonfig.MAX_INSTANCES:
+ die("Instance limit reached!")
+
+ try:
+ if cmd == 'start':
+ start(id)
+ elif cmd == 'stop':
+ stop(id)
+ elif cmd == 'status':
+ if running(id):
+ print "Instance %d is running." % id
+ else:
+ print "Instance %d is NOT running." % id
+ sys.exit(1)
+ elif cmd == 'create':
+ create(id)
+ elif cmd == 'destroy':
+ destroy(id)
+ else:
+ print >>sys.stderr, "Unrecognized command: %s" % cmd
+ sys.exit(2)
+ except ValueError, e:
+ print >>sys.stderr, e
+ sys.exit(1)
+
+if __name__ == '__main__':
+ main()
Copied: trunk/demo/tests/test_demo.py (from rev 873, trunk/demo/cgi-bin/tests.py)
===================================================================
--- trunk/demo/cgi-bin/tests.py 2004-05-07 08:05:24 UTC (rev 873)
+++ trunk/demo/tests/test_demo.py 2004-05-07 16:13:22 UTC (rev 877)
@@ -0,0 +1,200 @@
+#!/usr/bin/env python2.3
+"""
+Unit tests for the demo app.
+
+$Id$
+"""
+
+import unittest
+import fcntl
+import os
+import tempfile
+import shutil
+import datetime
+import csv
+import sys
+
+
+# You might want to change this:
+sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'lib'))
+
+
+class FileSetupMixin:
+
+ def setUp(self):
+ self.dir = tempfile.mkdtemp()
+ self.file = os.path.join(self.dir, 'test.storage')
+
+ def tearDown(self):
+ shutil.rmtree(self.dir, True)
+
+
+class TestDemoDB(FileSetupMixin, unittest.TestCase):
+
+ def test_locking(self):
+ from demo import DemoDB
+ db = DemoDB(self.file)
+ self.assert_(os.path.exists(self.file))
+ f = file(self.file)
+ self.assertRaises(IOError,
+ fcntl.flock, f, fcntl.LOCK_EX | fcntl.LOCK_NB)
+ db.close()
+ fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)
+
+ def test_open(self):
+ from demo import DemoDB
+ f = file(self.file, "w")
+ print >> f, ('"2004-04-01 12:00:00","User","email","school",'
+ '"position","comment",123,"active",password,3')
+ f.close()
+ db = DemoDB(self.file)
+ result = list(db)
+ self.assertEqual(result, [['2004-04-01 12:00:00', 'User',
+ 'email', 'school', 'position', 'comment',
+ '123', 'active', 'password', '3']])
+ db.close()
+
+ def test_writerows(self):
+ from demo import DemoDB
+ db = DemoDB(self.file)
+ data = [['2004-04-01 12:00:00', 'User', 'email', 'school',
+ 'position', 'comment', '123', 'active', 'password', '3']]
+ db.writerows(data)
+ db.close()
+ self.assertEqual(list(csv.reader(file(self.file))),
+ data)
+
+class DBStub:
+ def writerows(self, rows):
+ self.data = list(rows)
+
+class TestDemo(FileSetupMixin, unittest.TestCase):
+
+ def test_load(self):
+ from demo import Demo, User
+ d = Demo(self.file)
+ d.db = iter([['2004-04-01 12:00:00', 'User', 'email', 'school',
+ 'position', 'comment', '123', 'active', 'passwd', '3'],
+ ['2004-04-01 12:01:00', 'User2', 'email2', 'school2',
+ 'position', 'comment', '123', 'active', 'passwd2', '4'],
+ ])
+ d.load()
+ self.assertEqual(len(d.users), 2)
+ self.assert_(isinstance(d.users[0], User))
+ self.assertEqual(d.users[0].instance, 3)
+ self.assertEqual(d.users[0].date,
+ datetime.datetime(2004, 4, 1, 12, 0))
+
+ self.assert_(isinstance(d.users[1], User))
+ self.assertEqual(d.users[1].instance, 4)
+ self.assertEqual(d.users[1].date,
+ datetime.datetime(2004, 4, 1, 12, 1))
+
+ def test_save(self):
+ from demo import Demo, User
+ demo = Demo(self.file)
+ demo.db = DBStub()
+ datetime.datetime(2004, 1, 1, 12,0,0)
+ demo.users = [
+ User(datetime.datetime(2004, 1, 1, 12,0),
+ "Albertas", "alga at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool",
+ '1234', 'active', 'xyzzy', 42),
+ User(datetime.datetime(2004, 1, 1, 12,1),
+ "Gintas", "gintas at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool too",
+ '1234', 'active', 'furrfu', 43),
+ ]
+ demo.save()
+ self.assertEqual(demo.db.data,
+ [['2004-01-01 12:00:00', "Albertas",
+ "alga at example.com", "PoV", "programmer",
+ "I want to migrate to Schooltool", '1234',
+ 'active', 'xyzzy', '42'],
+ ['2004-01-01 12:01:00', "Gintas",
+ "gintas at example.com", "PoV", "programmer",
+ "I want to migrate to Schooltool too", '1234',
+ 'active', 'furrfu', '43']])
+
+ def test_getByHash(self):
+ from demo import Demo, User
+ demo = Demo(self.file)
+ demo.db = DBStub()
+ datetime.datetime(2004, 1, 1, 12,0,0)
+ demo.users = [
+ User(datetime.datetime(2004, 1, 1, 12,0),
+ "Albertas", "alga at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool",
+ '1234', 'active', 'xyzzy', 42),
+ User(datetime.datetime(2004, 1, 1, 12,1),
+ "Gintas", "gintas at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool too",
+ '4321', 'active', 'furrfu', 43),
+ ]
+ self.assertEqual(demo.getByHash('1234'), demo.users[0])
+ self.assertEqual(demo.getByHash('4321'), demo.users[1])
+ self.assertRaises(KeyError, demo.getByHash, '1111')
+
+ def test_getByInstance(self):
+ from demo import Demo, User
+ demo = Demo(self.file)
+ demo.db = DBStub()
+ datetime.datetime(2004, 1, 1, 12,0,0)
+ demo.users = [
+ User(datetime.datetime(2004, 1, 1, 12,0),
+ "Albertas", "alga at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool",
+ '1234', 'active', 'xyzzy', 42),
+ User(datetime.datetime(2004, 1, 1, 12,1),
+ "Gintas", "gintas at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool too",
+ '4321', 'active', 'furrfu', 43),
+ ]
+ self.assertEqual(demo.getByInstance(42), demo.users[0])
+ self.assertEqual(demo.getByInstance(43), demo.users[1])
+ self.assertRaises(KeyError, demo.getByInstance, 41)
+
+ def test_new(self):
+ from demo import Demo, User
+ demo = Demo(self.file)
+ demo.db = DBStub()
+ datetime.datetime(2004, 1, 1, 12,0,0)
+ demo.users = [
+ User(datetime.datetime(2004, 1, 1, 12,0),
+ "Albertas", "alga at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool",
+ '1234', 'active', 'xyzzy', 42),
+ User(datetime.datetime(2004, 1, 1, 12,1),
+ "Gintas", "gintas at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool too",
+ '4321', 'active', 'furrfu', 43),
+ ]
+ result = demo.new('Marius', 'mg at localhost', 'Pov', 'hacker', '')
+ self.assertEqual(len(demo.users), 3)
+ self.assertEqual(demo.users[2], result)
+ self.assert_(result.password)
+ self.assertEqual(len(result.hash), 8)
+
+
+class TestUser(unittest.TestCase):
+
+ def test(self):
+ from demo import User
+ date = datetime.datetime(2004, 1, 1, 12,0,0)
+ user = User(date, "Albertas", "alga at example.com", "PoV",
+ "programmer", "I want to migrate to Schooltool",
+ '1234', 'active', 'xyzzy', 42)
+ self.assertEqual(user.date, date)
+ self.assertEqual(user.name, "Albertas")
+ self.assertEqual(user.email, "alga at example.com")
+ self.assertEqual(user.company, "PoV")
+ self.assertEqual(user.position, "programmer")
+ self.assertEqual(user.comments, "I want to migrate to Schooltool")
+ self.assertEqual(user.hash, '1234')
+ self.assertEqual(user.status, 'active')
+ self.assertEqual(user.password, 'xyzzy')
+ self.assertEqual(user.instance, 42)
+
+
+if __name__ == '__main__':
+ unittest.main()
Deleted: trunk/demo/testsetup.sh
===================================================================
--- trunk/demo/testsetup.sh 2004-05-07 15:39:03 UTC (rev 876)
+++ trunk/demo/testsetup.sh 2004-05-07 16:13:22 UTC (rev 877)
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-echo 'This will create a "tmp" subdirectory, a typical demo server tree'
-echo 'inside, and set up symlinks.'
-echo
-echo 'You need to adjust democonfig.py and schooltool-new.c to point to'
-echo 'the paths that are correct in your system.'
-echo
-echo 'If you want to test the cgi-bin scripts, you will need to set them up'
-echo 'manually (you will also need to copy testconfig.py into the cgi-bin'
-echo 'directory). Plus, you will need to run this as root:'
-echo '# chown root bin/schooltool-new && chmod a+s bin/schooltool-new'
-echo 'for the SUID wrapper to work. The wrapper will not cause any'
-echo 'damage to your system.'
-echo
-
-ln -sf ../democonfig.py scripts/
-
-# compile schooltool-new
-gcc -W -Wall -o scripts/schooltool-new scripts/schooltool-new.c
-
-mkdir -p tmp tmp/bin tmp/var
-ln -sf ../../scripts/demo-ctl.py \
- ../../scripts/schooltool-new \
- ../../scripts/cleanup.py \
- ../../democonfig.py \
- tmp/bin
-
-echo 'Done'.
More information about the Checkins
mailing list