Source code for spython.main.base.generate

#!/usr/bin/env python

# Copyright (C) 2017-2022 Vanessa Sochat.

# This Source Code Form is subject to the terms of the
# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed
# with this file, You can obtain one at http://mozilla.org/MPL/2.0/.


from random import choice


[docs]class RobotNamer: _descriptors = [ "chunky", "buttery", "delicious", "scruptious", "dinosaur", "boopy", "lovely", "carnivorous", "hanky", "loopy", "doopy", "astute", "gloopy", "outstanding", "stinky", "conspicuous", "fugly", "frigid", "angry", "adorable", "sticky", "moolicious", "cowy", "spicy", "grated", "crusty", "stanky", "blank", "bumfuzzled", "fuzzy", "hairy", "peachy", "tart", "creamy", "arid", "strawberry", "butterscotch", "wobbly", "persnickety", "nerdy", "dirty", "placid", "bloated", "swampy", "pusheena", "hello", "goodbye", "milky", "purple", "rainbow", "bricky", "muffled", "anxious", "misunderstood", "eccentric", "quirky", "lovable", "reclusive", "faux", "evasive", "confused", "crunchy", "expensive", "ornery", "fat", "phat", "joyous", "expressive", "psycho", "chocolate", "salted", "gassy", "red", "blue", ] _nouns = [ "squidward", "hippo", "butter", "animal", "peas", "lettuce", "carrot", "onion", "peanut", "cupcake", "muffin", "buttface", "leopard", "parrot", "parsnip", "poodle", "itch", "punk", "kerfuffle", "soup", "noodle", "avocado", "peanut-butter", "latke", "milkshake", "banana", "lizard", "lemur", "lentil", "bits", "house", "leader", "toaster", "signal", "pancake", "kitty", "cat", "cattywampus", "poo", "malarkey", "general", "rabbit", "chair", "staircase", "underoos", "snack", "lamp", "eagle", "hobbit", "diablo", "earthworm", "pot", "plant", "leg", "arm", "bike", "citrus", "dog", "puppy", "blackbean", "ricecake", "gato", "nalgas", "lemon", "caramel", "fudge", "cherry", "sundae", "truffle", "cinnamonbun", "pastry", "egg", "omelette", "fork", "knife", "spoon", "salad", "train", "car", "motorcycle", "bicycle", "platanos", "mango", "taco", "pedo", "nunchucks", "destiny", "hope", "despacito", "frito", "chip", ]
[docs] def generate(self, delim="-", length=4, chars="0123456789"): """ Generate a robot name. Inspiration from Haikunator, but much more poorly implemented ;) Parameters ========== delim: Delimiter length: TokenLength chars: TokenChars """ descriptor = self._select(self._descriptors) noun = self._select(self._nouns) numbers = "".join((self._select(chars) for _ in range(length))) return delim.join([descriptor, noun, numbers])
def _select(self, select_from): """select an element from a list using random.choice Parameters ========== should be a list of things to select from """ if not select_from: return "" return choice(select_from)
[docs]def main(): bot = RobotNamer() print(bot.generate())
if __name__ == "__main__": main()