diff --git a/vsn/vsn.py b/vsn/vsn.py new file mode 100644 index 0000000..820ab69 --- /dev/null +++ b/vsn/vsn.py @@ -0,0 +1,61 @@ +import random +import sys +import hashlib + +class random_name(object): + def __init__(self, numNibble=3, adjFileName=False, nounFileName=False): + self.numNibble = numNibble + + if adjFileName: + self.adjList = [] + with open(adjFileName) as f: + for adj in f: + self.adjList.append(adj.strip()) + else: + self.adjList = ["abiding","abundant","adorable","adventurous","aggressive","agreeable","alert","american","amused","ancient","angry","annoyed","annoying","anxious","arrogant","ashamed","atomic","attractive","australian","average","awesome","awful","bad","bashful","beautiful","beige","belligerent","best","better","bewildered","big","bitter","blabering","black","bloody","blue","blue-eyed","blushing","bodacious","bogus","boiling","bored","bountiful","brainy","brave","breakable","breezy","brief","bright","broad","broken","brown","brutal","bumpy","busy","californian","calm","cambodian","canadian","captain","carefree","careful","cautious","charming","cheeky","cheerful","chilly","chinese","chunky","classic","clean","clear","clever","cloudy","clumsy","cold","colombian","colorful","colossal","combative","comfortable","concerned","condemned","confused","cooing","cool","cooperative","corrupt","courageous","crazy","creepy","crooked","crowded","cruel","cuddly","curious","curly","curt","crusty","cute","damaged","damp","dancing","dangerous","danish","dark","darth","dead","deadly","deafening","deep","defeated","defiant","delicious","delightful","distinguished","depressed","determined","devious","different","difficult","dirty","disgusted","dishonorable","distinct","disturbed","dizzy","doctor","doleful","doubtful","drab","dreamy","drunk","dry","dull","dusty","dutch","eager","early","easy","edgy","egyption","elated","electric","electronic","elegant","embarrassed","empty","enchanting","encouraging","energetic","english","enthusiastic","envious","epic","eerie","evil","evocative","excellent","excited","expensive","exuberant","faint","fair","faithful","famous","fancy","fantastic","fashionable","fast","fat","feral","fickle","fictional","fierce","filthy","fine","flaky","flat","flexible","flammable","flimsy","fluffy","fluttering","flying","foolish","forceful","foul","fragile","frail","frantic","freezing","french","fresh","fabulous","friendly","frightened","frank","funny","futuristic","fuzzy","gentle","german","giant","gifted","gigantic","glamorous","glass","gleaming","gleeful","gloomy","glorious","glowing","glum","glad","golden","good","gorgeous","graceful","grave","gray","greasy","great","greek","green","grieving","grotesque","grubby","grumpy","handsome","happy","hard","harsh","healthy","heavy","helpful","helpless","high","high-pitched","hilarious","hissing","hollow","holy","homeless","homely","honorable","hoopy","horizontal","horny","horrible","hot","huge","humorless","hungarian","hungry","hurt","hushed","husky","icelandic","icy","idealistic","ill","immense","important","impossible","indian","indigo","inexpensive","infamous","infected","innocent","inquisitive","insane","intelligent","intrepid","iranian","irate","irish","iron","ironic","irritated","italian","interesting","jamaican","japanese","jealous","jingly","jittery","jolly","joyous","juicy","jumpy","keen","kind","king","kingly","korean","laconic","large","late","latin","lazy","leather","lite","little","lively","living","lonely","long","loose","loud","lovecraftian","lovely","low","lucky","ludicrous","macabre","mad","magenta","magnificent","make-believe","malicious","mammoth","massive","masterful","melancholy","mellow","melodic","melted","memorable","mexican","milky","miniature","misty","mourning","modern","modest","mongolian","moody","motionless","muddy","murderous","mushy","musical","mute","mysterious","mythical","named","narrow","nascent","nameless","neon","nervous","new","nice","nigerian","noisy","numerous","nutty","obedient","obnoxious","obtuse","odd","old","open","orange","organic","original","outrageous","outstanding","parsimonious","panicky","perfect","persian","peruvian","petite","phantom","photoshopped","pithy","pious","plaid","plain","plastic","platonic","pleasant","poetic","poised","poisonous","polished","poor","popular","possessed","powerful","precious","prickly","primative","private","proud","psychic","puny","purple","purring","puzzled","quaint","quantum","quick","quiet","quixotic","radiant","radical","rainy","random","rapid","raspy","real","red","relieved","repulsive","resonant","rich","ripped","roman","romanian","rotten","rough","round","rubber","russian","safe","salty","stoic","scary","scattered","scottish","scrawny","screeching","seasick","selfish","senior","serious","snarky","shaggy","shaky","shallow","sharp","shiny","shivering","shocking","short","shrill","shy","sick","silent","silky","silly","silver","sinful","sir","skinny","sleepy","slimy","slippery","slow","surly","small","smacked","smiling","smoggy","smoky","smooth","sneaky","sober","soft","solid","sore","sour","spanish","sparkling","spicy","splendid","spooky","spotless","square","squealing","stable","stale","steady","steel","steep","sticky","stinky","stormy","straight","strange","strong","stupid","sturdy","substantial","successful","super","supple","svelte","sweedish","sweet","swift","swiss","talented","talkative","tall","tame","tart","tasteless","tasty","teal","tearful","teeny","teeny-tiny","tender","tense","terrible","testy","texan","thankful","thirsty","thoughtful","thoughtless","thundering","tight","tiny","tired","tough","trendy","troubled","trustworthy","turbo","turkish","ubiquitous","ugliest","ugly","ukrainian","ultimate","ultraviolet","unbelievable","uneven","uninterested","unique","unsafe","unsightly","unstable","untrustworthy","unusual","unwashed","upset","uptight","vast","venomous","vertical","victorious","vile","violet","visionary","vivacious","voiceless","wandering","warm","weak","weary","wet","whispering","white","wicked","wide","wide-eyed","wild","wise","witty","wonderful","wooden","worried","wounded","wretched","wrong","g-rated","yellow","young","yummy","zany","zealous","irradiated","whirling"] + + if nounFileName: + self.nounList = [] + with open(nounFileName) as f: + for noun in f: + self.nounList.append(noun.strip()) + else: + self.nounList = ["CPU","DNA","PC","URL","abductee","abs","accordian","acorn","acrylic","action","acupressure","admin","adoptee","aerie","aerogel","affordability","aftermarket","afterparty","aftershock","agave","aging","aikido","air-guitar","airbag","airboat","aircar","airfare","airplane","airstrike","alfalfa","all-nighter","alligator","allium","allspice","almond","amethyst","analog","analytics","anchor","anchovy","android","anesthesiologist","angel","angelfish","animal","anise","ankle","announcement","announcer","ant","anteater","antelope","anthrax","anticorruption","antidepressant","antioxidant","antiperspirant","antiterrorist","apartment","ape","apnea","app","appearance","apple","applesauce","applet","appraiser","apricot","arborist","archeologist","archrival","arcsecond","armoire","armour","arms","arraignment","arrow","arthritis","artichoke","artifact","artwork","arugula","asparagus","aspen","assembly","asphalt","asterism","asteroid","astrobiology","astrometry","athlete","atmosphere","attendee","attic","attorney","audiobook","audiocassette","audiologist","autofocus","autoloader","automaker","avatar","avocado","award-winner","axe","baby","bachelorette","backboard","backbone","backcountry","backcourt","backfield","backhoe","backpack","backpacker","backseat","backsplash","backstop","backstory","backstreet","backstretch","backyard","bacteria","badger","bagel","baggie","bagpipe","baguette","bailout","baitfish","ballclub","ballet","ballfield","ballgame","ballgown","ballpark","ballplayer","banana","band","bandanna","bandit","bankrobber","banshee","barbell","barbershop","bargain","barista","barkeep","baron","baroness","barrette","barroom","bartender","baseball","basecamp","baseman","basement","basher","basil","basketball","basketry","basmati","bass","bassinet","bat","batboy","bathingsuit","bathroom","bathtub","batman","batterer","battery","battleaxe","battleship","bayou","beach","beachhead","beadboard","bean","beanie","bear","bearclaw","bedroom","beehive","beeholder","beeper","beer","beetle","belgian","bellboy","bellwether","belt","beltway","benchtop","beta-carotene","bicycle","bighorn","bike","bill","billionaire","bangle","bio","biodefense","bioethicist","biohazard","biologist","bezique","bird","birdfeeder","birdhouse","birding","birdwatching","bison","blackberry","blackhole","blacktop","blanket","blazer","bleacher","bling","blog","blogger","blogosphere","bloodflow","blowdryer","blowgun","blowout","blowup","blueberry","bluegill","bluegrass","bluesman","boa","boardinghouse","boat","bobber","bobblehead","bobcat","bobsled","bodybuilder","bodysuit","boneyard","bond","bonanza","bone","bones","bonobo","book","bookstore","boombox","boomer","boomtown","boondoggle","boots","bonfire","borg","boss","botnet","bottle","bowhunter","bowhunting","bowtie","boxcar","boxers","boy","boyfriend","boysenberry","bratwurst","bread","breadcrumb","breadfruit","breakfast","breakup","breather","breeze","brewpub","briquet","bridge","brisket","broadband","broccoli","broiler","bronzer","brother","browser","brunch","bruschetta","brussels","bubblegum","bubbles","buckboard","bucket","bucktail","buckyball","bug","building","buildup","bulimia","bullpen","bumblebee","bunt","burgler","bus","burlap","burrito","busboy","bush","bushing","business","businesspeople","busride","butte","buttercream","butterfly","buttermilk","butternut","butthead","buyback","cache","cabbage","cabdriver","cabernet","cabinetry","caboose","cactus","cake","calamari","caliper","camel","camera","camo","campground","can","cackler","candy","candybar","cane","cannellini","cannoli","cannon","canoe","canola","cantaloupe","cantina","capitol","capybara","car","caracal","carb","carburetor","cardholder","cardinal","caribou","carton","carpet","carpool","carpooling","carrot","cartwheel","caseworker","cash","castle","castoff","cat","catapult","catchall","catchphrase","caterpillar","cauliflower","caulk","cave","cayenne","cd-rom","celebration","celebrity","celery","cellblock","cellphone","cellulite","centerline","centipede","centurion","ceo","ceramist","ceviche","chainring","chainsaw","chair","chairlift","challah","chameleon","changeup","chaparral","chardonnay","charity","cheater","checkering","checkup","chaos","cheetah","chef","chelation","cherry","chianti","chevron","chicken","chickenhawk","chickpea","chile","chili","chimpanzee","chipmaker","chipotle","chives","chorizo","chowder","chupacabra","ciabatta","cilantro","cinderblock","cineplex","circus","citizen","cladding","classmate","cleanshirt","cleanup","clementine","cliff","clip","clock","cloning","clothesline","cloud","cloudberry","clover","clown","club","clump","clue","clunker","coastline","coauthor","cobblestone","cobra","coat","cochair","cockroach","coconut","cocreator","codirector","coeditor","coffee","coffeehouse","coffeemaker","coffeepot","cofounder","cohosh","cohost","coin","cola","collard","collimation","colonoscopy","colossus","combover","comedy","commander","compactor","compartment","computer","concealer","concert","condo","condominium","coneflower","confederate","conference","confession","confit","congress","conger","congee","conservancy","conservatorship","construction","contrarian","convertible","cookie","cookoff","cookout","cookstove","cooktop","cooldown","copay","copilot","coprocessor","copycat","corkage","corn","cornbread","cornerback","cornmeal","cornstarch","corral","corvette","cosmetology","cossack","costar","costume","cottonwood","cougar","councilman","councilwoman","counter","countertop","courthouse","coverup","coworker","coyote","crabmeat","corsage","cranberry","crane","cosmonaut","crankset","crappie","crapshoot","crawfish","crawlspace","cred","credenza","creek","crewmember","crewneck","cricket","criminalist","criterium","critter","cross-training","crossbow","crosswalk","crowbar","cruiser","crusade","crust","cuban","cube","cucumber","cultivar","cumin","cup","cupcake","cupful","curator","curb","curse","curveball","cutlass","cutline","cutthroat","cybercrime","cyberpunk","cybersecurity","cyberspace","cyborg","cyclocross","dagger","daikon","dancer","dart","databank","database","datalink","date","daycare","daypack","deadbeat","deadfall","deadlift","dealbreaker","dealmaking","death","decaf","decal","december","deejay","defenseman","defibrillator","defunding","dehydrator","deliveryman","democracy","demon","dentist","dermatologist","deterrent","desert","detainee","detritus","diaper","dice","didgeridoo","dill","dime","dinette","dingo","dinnerparty","dinnerware","director","discus","disk","dispatcher","disruptor","divorce","do-over","doctor","dodgeball","dog","doghouse","dollar","dollhouse","dolphin","donkey","donut","doofus","door","doozy","dopamine","dorhawk","dorm","dosa","dotcom","doubleheader","downlink","download","downside","downsizing","downstate","downtime","dragon","dragonfly","dragonfruit","dragster","drama","drawdown","dream","dreidel","dress","drill","drivethrough","drivetrain","droid","druid","drugstore","drum","drumstick","dryer","drywall","duchess","duck","dude","duke","dumbbell","dumpster","dumptruck","dungeon","dunk","duvet","dulcimer","eagle","ear","earmark","earth","eatery","eave","ebola","echinacea","echo","ecommerce","ecotourist","eel","egg","eggnog","eggplant","egret","elbow","elderberry","electron","electronica","elephant","elevator","elk","email","emcee","emirate","emu","enchilada","encryption","energizer","energy","engine","engineer","entree","entrepreneur","entryway","ebony","epitome","equinox","ergonomics","escalator","escort","ether","ethernet","ethicist","euro","eurozone","evenfall","evidence","exam","exaction","exahertz","excuse","excerpt","exerciser","exfoliator","exchequer","exoplanet","exoskeleton","expat","expletive","explosion","eye","eyeball","eyebrow","eyewear","fabric","face","fabulist","facemask","faceup","factory","fairy","fairytale","fajita","falafel","falloff","fan","fart","fashionista","fastball","fasttrack","faucet","feather","fertilizer","feedlot","feet","felon","ferule","fennel","fest","feta","fettuccine","feverfew","fieldstone","fifthgrader","fig","filet","filibuster","filmmaker","finderscope","fingerling","fingernail","firecracker","firefight","firefighter","firefinch","firehouse","firestorm","firewall","firmware","fish","fishbowl","fishfinder","fistfight","fixerupper","flag","flagpole","flail","flamingo","flare","flashlight","flatbread","flatiron","flatware","flaxseed","flextime","flip-flopper","flipside","floss","flower","flu","flute","fly","flyby","flyfishing","focaccia","focuser","folate","folkie","fontina","foodie","foodservice","foosball","footbed","forager","foreclosure","foghorn","forest","foliage","fork","formatting","four-wheeler","fox","foxhole","franchisee","franchiser","fratboy","freeride","freeware","freeway","freshman","friday","frisbee","frisket","frittata","frog","frontman","frontrunner","frontline","frosting","fruit","function","funder","fundraiser","funicular","fur","furor","fusarium","future","gaboon","gainer","galaxy","gameboy","gamechanger","gamefish","gameplay","gamer","gangplow","gamma","gantlet","garbanzo","garlic","garnish","gasoline","gator","gauntlet","geek","gelato","gem","genome","getup","ghost","ghoul","giardia","giblet","gigabit","gigabyte","gigahertz","gigajoule","gigawatt","gin","ginger","gingerroot","gingivitis","ginkgo","giraffe","gift","gimbal","gladiator","glassware","glider","gizzard","glovebox","gloves","glucosamine","gluteus","gnocchi","goalkeeper","goaltender","goat","goatfish","gobbler","goblin","gocart","godzilla","goldenrod","golum","gondola","gonzo","goofball","goop","gooseberry","gorgon","gorgonzola","gorilla","gossip","goth","graduate","grail","grammy","granddaddy","grandma","grandpa","grandstanding","granola","grape","grapefruit","grapeseed","grass","grasshopper","gratin","gravesite","graywater","greatsword","greenlight","greenling","grenade","gridlock","grinch","grizzlybear","groom","groomer","groundcover","grounder","groundhog","groundskeeper","groupware","grousing","growl","grownup","grunge","guacamole","guardrail","guava","guineapig","guitar","gulch","gunfight","gunship","gurney","gyroscope","habanero","hair","hairball","haircut","hairdo","hairline","hairstylist","halberd","halfpipe","halftime","hallway","halogen","hamburger","handaxe","handgun","handoff","handover","hands","handspring","handwashing","hangout","happenstance","harasser","hardball","hardcopy","hardpack","hardtail","hare","harmonica","harmony","harpoon","hatchling","hawk","hayride","hazmat","head","headlight","headliner","headspace","headstone","heart","heartattack","heartthrob","hedgehog","heelpiece","heft","helicopter","helioseismology","hellhole","helmet","helpline","herbivore","herbs","hero","heroine","high-five","highball","highlighter","highway","hiker","hill","hilltop","hipbelt","hiphop","hippopotamus","hitchhiker","hitter","hobo","hodgepodge","holdout","holdup","holiday","holodeck","homeboy","homebuilder","hoosgow","homeopathy","homeowner","homeownership","homer","homeroom","homestand","hometown","hominy","honeybee","honeydew","honoree","hoof","hook","hookup","hornbill","horse","horseradish","hospital","host","hostess","hotspot","hoplite","house","housecat","housecleaning","housedress","houseguest","houseparty","housewife","huckleberry","hug","hummer","hummingbird","hummus","hurricane","husband","hydration","hydrocodone","hymnal","ibis","ibuprofen","iceman","iguana","impala","implosion","inbox","indie","infection","infield","infielder","infill","infotainment","infotech","inkjet","inning","insect","intern","internet","internist","interstate","intranet","invasion","iphone","ipod","jackalope","jackpot","jacket","jackfruit","jackhammer","jackknife","jackrabbit","jaguar","jalapeno","jambalaya","jambul","javelin","jazz","jellyroll","jetliner","jewelry","jicama","job","jock","journey","joystick","jujube","jumbotron","jump-start","jupiter","juror","kale","kangaroo","karaoke","kart","katana","kayak","kayaker","keiretsu","kerfuffle","kettlebell","keyboard","keypad","keyword","kibble","kickboxing","kickoff","kidney","kilobyte","kilojoule","kilometer","kilowatt","kindergartner","kiss","kitchen","kite","kitten","kiva","kiwi","kiwifruit","klingon","knee","knife","knight","knob","knockoff","knuckle","koala","kokanee","kook","kookaburra","kraken","kryptonite","kudzu","kumquat","labyrinth","lacrosse","lady","ladybug","lake","lakebed","lakefront","lakeshore","lance","landfill","landscaper","laparoscopy","laptop","largess","lasagna","laser","laserbeam","lasso","latte","laughingstock","laughter","launchpad","laundromat","lava","lavender","lawmaker","lawman","lawnmower","lawsuit","lawyer","layering","layoff","layover","laypeople","layup","leader","leaderboard","leadoff","league","leatherback","lectionary","leek","lefty","legroom","legs","legume","lemon","lemongrass","lemur","lenscap","lentil","leopard","leptin","letdown","lettuce","levee","liar","librarian","licorice","lie","lifestyle","liftoff","lightbulb","lighter","lightsaber","lightyear","likability","lima","lime","linebacker","lineman","lineup","linguine","linguini","lion","lionfish","liposuction","listeria","liter","lithosphere","lizard","lobbyist","lockbox","lockdown","lockout","lockstep","lockup","locust","lodgepole","lolcat","longclaw","longsword","loquat","love","lovebird","lovefest","lover","lox","lube","luge","lumber","lumberjack","lumberyard","lunch","lunchroom","lunker","macaw","mace","machete","madrassa","magazine","magic","magician","maglev","magnetar","maid","mailman","mailroom","maize","makeover","makeup","male","malware","mammal","manacle","mammoth","man","manager","manatee","manakin","mandarine","mandrill","manga","mango","maniac","manscape","mantis","marathon","march","margarita","manganese","marinade","marinara","marist","market","marmot","mars","marsala","masa","masala","masonite","massage","masterpiece","matchstick","matchup","matrix","matter","mattress","maven","mayor","meatball","meatloaf","medicine","meerkat","meet-and-greet","meeting","megabyte","megachurch","megacity","megafauna","megahit","megajoule","megastar","megastore","megawatt","melatonin","melon","meltwater","meme","meter","merlot","mermaid","mesa","mesclun","message","messaging","metalsmith","method","metro","metroplex","mesquite","microbrewery","microclimate","microcredit","microfiber","midafternoon","midcentury","midfielder","midmorning","midsection","midterm","military","kickball","milk","millage","millimeter","millionaire","millipede","mime","minibar","minicamp","minidress","miniskirt","minivan","minotaur","mirror","missile","misstep","missy","mitt","mixtape","mockingbird","mogul","moisturizer","mojito","mojo","mollusk","mom","momma","mommy","monday","moneymaker","moniker","monk","monkey","monkfish","monofilament","monorail","monotype","monster","moon","moped","morning","morningstar","morph","mosquito","moth","motherboard","mothman","motorcycle","motoryacht","mountain","mountaintop","mouse","moustache","mouth","mouthwash","movie","moviegoer","mozzarella","mudroom","muffin","mugwort","mulberry","mullet","multimedia","multitasker","multitool","multiverse","mummy","muppet","murrelet","museum","mushrooms","music","muskie","mustache","mustang","mustard","mute","muzzleloader","naan","nametag","nanosecond","nanotube","napkin","naptime","narcissist","narwhal","near-miss","neckbeard","nectarine","neighbor","neighborhood","neptune","nerd","net","netbook","network","networking","neurobiologist","neuroscientist","neurotoxin","neurotransmitter","neutering","newbie","newlywed","news","newscast","newsdesk","newsgroup","newspaper","newsstand","niacin","nickle","nightcap","night","nightstand","nighttime","ninja","nitroglycerin","no-brainer","noise","non-issue","nonissue","nonviolence","noodles","noontime","normalcy","nose","novelist","nudge","nunchaku","nuthouse","nurturer","nut","nutria","obelisk","occupation","ocean","oceanfront","ocelot","october","octopus","odyssey","offseason","offshoring","ogre","oil","okra","olestra","olive","olypmics","omelet","omnivore","oncologist","onion","opossum","orange","orca","oregano","organza","orthodontist","orzo","ostrich","outage","outcropping","outdoorsman","outfielder","outlaw","outplacement","outsole","overabundance","overachiever","overflow","overlook","overpass","oversupply","owl","oxheart","oxymoron","oyster","paceline","packbag","packet","paediatrician","page-turner","pager","painkiller","paint","paintball","palmetto","palmtop","pamelo","pancetta","panda","panelist","panfish","panhandle","panther","panoply","pants","pantsuit","panorama","papaya","paper","paperclip","paprika","parachute","paratrooper","parkway","parmesan","parsec","parsley","part-timer","parasol","passel","passionfruit","pastel","pancake","patroller","payback","paycheck","payday","pea","peach","pear","pearl","pecan","pecorino","pedicure","pedestal","parsnip","patent","peeve","pelican","pen","pencil","penguin","penlight","penne","penny","pepper","pepperoni","peril","permaculture","perp","periscope","pesto","pet","petabyte","petroglyph","phaser","philosopher","photo-op","photograph","photographer","photosphere","phyllo","piano","pick","pickaxe","piecrust","pig","pigeon","pike","pill","pillar","pillow","pilot","pilothouse","pinata","pineapple","pinon","pinot","pinto","pinup","pinwheel","pipe","pita","pitcher","pitching","pitchman","pizza","plate","platypus","pleat","playability","playbook","playbill","playground","playoff","plotline","plum","pluto","pocketbook","pocketknife","podiatrist","poem","poet","poison","polenta","pollinator","pollster","polycarbonate","polygamist","pomegranate","ponderosa","pony","pooch","popcorn","popsicle","pork","pool","portobello","post-it","postseason","postgame","postproduction","poplar","potato","potbelly","portage","potluck","poverty","powerplant","powertrain","prenup","preproduction","pretext","preseason","preset","pretzel","preventer","primate","primatologist","prism","producer","profiler","programmer","pronghorn","propolis","prologue","protein","proton","protostar","provolone","puck","pueblo","puffin","pullback","pullout","pulmonologist","pumper","pumpkin","punch","punk","puppet","puppy","purse","pushback","pushup","putter","pyromaniac","python","quadriceps","quarter","quarterback","quarterstaff","quince","rabbit","raccoon","race","racecar","racetrack","racket","racquetball","radar","radicchio","radio","radiosurgery","radish","ragtag","ragu","railroad","raincoat","rainfly","rainforest","raingear","rainmaker","raisin","rake","ramekin","rampart","ranch","rancher","rapper","raptor","raspberry","rat","rattlesnake","raven","razor","realtor","reboot","rebounder","rebranding","recliner","recon","recount","recusal","redfish","redistricting","redshift","redshirt","reelection","reflexology","refrigerant","regolith","rehab","reliever","remix","remodel","renter","replicant","reptile","republic","restroom","resume","reticle","retinoid","retiree","returner","reverb","revolution","rhinoceros","rhubarb","ribs","ricotta","ridership","ridgeline","ridgetop","rifle","rigatoni","righthander","ring","river","riverboat","riverwalk","roadbed","roadie","roadkill","roadshow","roaster","robe","robot","rock","rocket","rockstar","rollback","rollerblading","rollout","rolodex","rookie","roommate","rooster","root","rope","ropeswing","rosemary","rotator","rotisserie","rottweiler","rowboat","ruble","ruby","rug","rum","runner","rupee","rush-hour","rusher","rustproofing","sabbath","safehouse","sage","sagebrush","saguaro","sailboat","salmon","salsa","saltwater","sand","sandbox","sandhill","sandwhich","sanitarium","sanitizer","sargassum","sarin","sashimi","sass","saturday","saturn","sauce","saucepot","savor","saw","scab","scabbard","scallion","scammer","scarf","school","schooler","schoolyard","scientist","scimitar","scissors","scooter","scorpian","scramjet","screener","screwdriver","screwup","scrimmage","sculpture","scythe","sea","seafloor","seal","seatpost","seawall","sedan","seder","segue","sellout","seltzer","semifinal","semifinalist","senator","server","seventh-grader","sextant","setting","seaweed","shakeup","shallot","seviche","shareware","severity","shark","sharktooth","sheetrock","shell","shield","shiitake","shine","shirtwaist","shoe","shootaround","ship","shortbread","shortcake","shorts","shortstop","shotgun","shout","shout-out","shovel","showbiz","showboat","shower","showstopper","showtime","shrew","shrubbery","shtick","shuffleboard","shuriken","shutout","sickbed","sickle","sideline","sidearm","sidebar","sidecut","sidewalk","sidewinder","sign","silhouette","silicosis","silverware","simulation","singer","singletrack","siren","sister","sitcom","skeg","skateboarder","skeet","skiing","skillet","skinhead","skink","skirt","skiwear","skull","skybox","skycar","skydiver","skyrocket","skyscraper","slaw","sled","sledding","sleepover","slickrock","slideshow","sling","slinky","slugger","slump","smallpox","smartphone","smorgasbord","smoothbore","snapdragon","snake","sneaker","sneech","snicker","snitch","snow","snowbank","snowboard","snowboarder","snowboarding","snowcat","snowmelt","snowmobile","snowpack","snowshoe","snowsuit","sockeye","socks","soda","softball","software","soldire","sombrero","song","songbird","songwriter","sonogram","sophomore","sorcerer","souffle","soul","sound","soundbite","soundstage","soy","soymilk","space-shuttle","spacecraft","spaceflight","spacesuit","spacewalk","spaghetti","spam","spammer","sparkle","sparrow","sparrowhawk","speakerphone","spear","speech","speedskating","spell","sphere","spiciness","spider","spiderman","spiderweb","spike","spinach","spinnerbait","spinoff","spokesperson","sponge","spoon","sprain","sportfishing","sportscar","sportscaster","sportswriter","spot","spotlight","spreadsheet","spring","springform","squad","spyware","squash","squeegee","squid","squirrel","staff","staffer","stagehand","stake","stakeout","stalactite","standoff","standout","standup","stapler","star","starcraft","starfish","starling","starship","startup","statehouse","statement","statue","steak","steakhouse","steam-train","steelhead","stepfamily","stadium","stepparent","stereo","stevia","stickball","stinger","stingray","stockcar","stomach","stomachache","stoner","stoplight","stopsign","storefront","stork","storm","storyline","stovetop","strategist","strawberry","streetcar","streetlight","strep","strider","strikeout","striper","stroller","student","subcompact","subduction","submarine","subspace","subwoofer","suit","sulfur","sumac","sunblock","sunday","sundress","sunfish","sunglasses","sunpad","sunroof","sunroom","sunscreen","sunup","supercar","supercommittee","supercomputer","superhero","superhighway","superman","supermax","supermodel","supernova","superset","superstardom","superstore","superstring","surgeon","surrogacy","survey","sushi","swan","swat","swath","swingarm","sword","swordfight","swordfish","sync","syndrome","synergy","t-shirt","tabasco","tabbouleh","tabla","table","tablespoon","tablet","taco","tactility","taekwondo","tahini","tail","tailback","tailbone","tailpipe","takeaway","takedown","takeoff","takeout","taliban","talkback","tallgrass","tamale","tandoori","tang","tangerine","tapenade","tarp","tarpon","taser","taskbar","tattoo","tax","teacher","teakettle","teammate","teamster","teaparty","teaspoon","tech","techie","techno","telescope","telecast","telecom","telecommuting","teleconference","telemark","telemarketing","telephone","teleportation","telepresence","template","temblor","tempura","tenderloin","tendinitis","tent","teepee","tequilla","terminator","termite","terrarium","terrapin","test-drive","tetragram","texting","texture","theropod","thickener","thievery","thimerosal","theater","thirtysomething","thong","threepence","thunderstorm","thursday","thyme","tidbit","tidewater","tiger","tiller","timberland","timberline","timeline","timeout","timeshare","timeslot","tippet","tiramisu","toad","toddler","toepiece","tofu","toilet","toiletpaper","tomatillo","tomato","tombstone","toolbar","toolshed","tooth","toothbrush","tophat","topwater","toque","tornado","torpedo","tortoise","tostada","totempole","touchdown","touchpad","touchscreen","towel","tower","townhome","trackball","tractor","trail","trailblazer","trailhead","train","tramp","trebuchet","tree","treehouse","trench","triathlete","triathlon","trichologist","trickle","tricorder","trident","trifecta","triggerfish","triglyceride","trip","transfer","trek","trombone","trout","trumpet","trunk","trunkfish","tryout","tsunami","tuber","tuesday","tuna","tuneup","turkey","turnip","turtle","tux","tweeter","twitter","tyrannosaur","ultralight","ultrasound","umbrella","undergrad","underpainting","undersecretary","underwear","unicorn","unicycle","uniter","universe","update","updraft","upgrade","uplink","upload","vacation","valedictorian","vampire","varmint","vegan","veggie","velociraptor","venus","veterinarian","vetting","vintner","vibe","video","videocamera","videogame","videographer","videotape","viewership","viking","villain","vinaigrette","viola","violin","viper","virus","vise","vocabulary","vodka","voicemail","volunteer","vortex","vulture","waffle","walkingstick","waitstaff","wakeup","wallaby","wallboard","wallet","walleye","walrus","wannabe","war","warhammer","warmup","warthog","wasabi","washcloth","washer","waltz","wastebasket","water","waterbug","waterbuck","watercooler","watercraft","walnut","wave","waypoint","weaponization","weaver","web","webcam","webcast","website","wedding","wednesday","weekend","weeknight","werewolf","wetsuit","whale","wheel","wheelie","wheelset","whig","whiner","whir","whiskey","whisper","whisperer","whistleblower","whitefish","whiz","whoopie","wharf","whitecap","wideout","wildcard","wifi","wildcat","wildflower","wildland","windbreaker","windmill","window","windshield","windstorm","windup","wine","winemaker","winemaking","winery","wing","wingman","wire","wiretap","wiretapping","wish","wishbone","witch","witchcraft","wizard","wolf","wildebeest","wonk","woodpecker","woodstove","wookie","word","workday","workout","workspace","worktable","workweek","worm","wormhole","wraith","writer","wyvren","x-wing","yell","yellowcake","yogurt","zapper","zebra","zombie","zoo","zookeeper","zucchini","zydeco","crab","lobster","flea","dish","backflip","headache","bigfoot","sasquatch","yetti","serpant","merman"] + + + def genName(self, seed): + md5 = hashlib.md5(seed).hexdigest() + random.seed(md5) + return "%s %s %s" % (random.choice(self.adjList),random.choice(self.nounList), seed[:self.numNibble].lower()) + + def genList(self, seed): + md5 = hashlib.md5(seed).hexdigest() + random.seed(md5) + return [random.choice(self.adjList),random.choice(self.nounList), seed[:self.numNibble].lower()] + +if __name__ == "__main__": + import optparse + + parser = optparse.OptionParser() + parser.add_option( "", "--adjectives", action="store_true", dest="printadjs", help="Print the full list of adjectives", default=False ) + parser.add_option( "", "--nouns", action="store_true", dest="printnouns", help="Print the full list of Nouns", default=False ) + parser.add_option( "-d", "--data", action="store", dest="data", help="The hash the VSN will be generated from", default=False ) + parser.add_option( "-n", "--numnibble", action="store", dest="nibbles", help="The number of characters from the supplied hash to be added to the VSN (for increased entropy)", default=3 ) + parser.add_option( "-A", "--adjfile", action="store", dest="adjfilename", help="The file containing your own list of adjectives", default=False ) + parser.add_option( "-N", "--nounfile", action="store", dest="nounfilename", help="the file containing your own list of nouns", default=False ) + + p,args = parser.parse_args() + + r = random_name(int(p.nibbles), p.adjfilename, p.nounfilename) + + if p.printadjs: + for a in r.adjList: + print a + + if p.printnouns: + for n in r.nounList: + print n + + if p.data: + data = p.data + print r.genName(data)