Move to picking message from messages dir
This commit is contained in:
parent
85cfb00931
commit
bdf4de95bc
@ -23,3 +23,4 @@ COMPONENT_CONF_DIR = os.path.join(CONFIG_DIR, "components")
|
|||||||
DISTRO_DIR = os.path.join(CONFIG_DIR, "distros")
|
DISTRO_DIR = os.path.join(CONFIG_DIR, "distros")
|
||||||
PERSONA_DIR = os.path.join(CONFIG_DIR, "personas")
|
PERSONA_DIR = os.path.join(CONFIG_DIR, "personas")
|
||||||
TEMPLATE_DIR = os.path.join(CONFIG_DIR, "templates")
|
TEMPLATE_DIR = os.path.join(CONFIG_DIR, "templates")
|
||||||
|
MESSAGING_DIR = os.path.join(CONFIG_DIR, "messages")
|
||||||
|
264
anvil/utils.py
264
anvil/utils.py
@ -18,6 +18,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import contextlib
|
import contextlib
|
||||||
|
import glob
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
import re
|
import re
|
||||||
@ -72,242 +73,6 @@ COWS['unhappy'] = r'''
|
|||||||
{ear}--{ear}
|
{ear}--{ear}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# Welcome messages
|
|
||||||
WELCOMES = [
|
|
||||||
"And now for something completely different!",
|
|
||||||
"Let us get on with the show!",
|
|
||||||
]
|
|
||||||
|
|
||||||
# Thank you figlet ;)
|
|
||||||
# See: http://www.figlet.org/
|
|
||||||
STACKERS = []
|
|
||||||
STACKERS.append(r'''
|
|
||||||
___ ____ _____ _ _ ____ _____ _ ____ _ __
|
|
||||||
/ _ \| _ \| ____| \ | / ___|_ _|/ \ / ___| |/ /
|
|
||||||
| | | | |_) | _| | \| \___ \ | | / _ \| | | ' /
|
|
||||||
| |_| | __/| |___| |\ |___) || |/ ___ \ |___| . \
|
|
||||||
\___/|_| |_____|_| \_|____/ |_/_/ \_\____|_|\_\
|
|
||||||
|
|
||||||
''')
|
|
||||||
STACKERS.append(r'''
|
|
||||||
___ ___ ___ _ _ ___ _____ _ ___ _ __
|
|
||||||
/ _ \| _ \ __| \| / __|_ _/_\ / __| |/ /
|
|
||||||
| (_) | _/ _|| .` \__ \ | |/ _ \ (__| ' <
|
|
||||||
\___/|_| |___|_|\_|___/ |_/_/ \_\___|_|\_\
|
|
||||||
|
|
||||||
''')
|
|
||||||
STACKERS.append(r'''
|
|
||||||
____ ___ ____ _ _ ____ ___ ____ ____ _ _
|
|
||||||
| | |__] |___ |\ | [__ | |__| | |_/
|
|
||||||
|__| | |___ | \| ___] | | | |___ | \_
|
|
||||||
|
|
||||||
''')
|
|
||||||
STACKERS.append(r'''
|
|
||||||
_ ___ ___ _ _ __ ___ _ __ _ _
|
|
||||||
/ \| o \ __|| \| |/ _||_ _|/ \ / _|| |//
|
|
||||||
( o ) _/ _| | \\ |\_ \ | || o ( (_ | (
|
|
||||||
\_/|_| |___||_|\_||__/ |_||_n_|\__||_|\\
|
|
||||||
|
|
||||||
''')
|
|
||||||
STACKERS.append(r'''
|
|
||||||
_ ___ ___ _ __ ___ _____ _ __ _
|
|
||||||
,' \ / o |/ _/ / |/ /,' _//_ _/.' \ ,'_/ / //7
|
|
||||||
/ o |/ _,'/ _/ / || /_\ `. / / / o // /_ / ,'
|
|
||||||
|_,'/_/ /___//_/|_//___,' /_/ /_n_/ |__//_/\\
|
|
||||||
|
|
||||||
''')
|
|
||||||
STACKERS.append(r'''
|
|
||||||
_____ ___ ___ _ _ ___ _____ _____ ___ _ _
|
|
||||||
( _ )( _`\ ( _`\ ( ) ( )( _`\(_ _)( _ )( _`\ ( ) ( )
|
|
||||||
| ( ) || |_) )| (_(_)| `\| || (_(_) | | | (_) || ( (_)| |/'/'
|
|
||||||
| | | || ,__/'| _)_ | , ` |`\__ \ | | | _ || | _ | , <
|
|
||||||
| (_) || | | (_( )| |`\ |( )_) | | | | | | || (_( )| |\`\
|
|
||||||
(_____)(_) (____/'(_) (_)`\____) (_) (_) (_)(____/'(_) (_)
|
|
||||||
|
|
||||||
''')
|
|
||||||
|
|
||||||
# Success displays
|
|
||||||
IT_WORKED = []
|
|
||||||
IT_WORKED.append(r'''
|
|
||||||
___________
|
|
||||||
/ You shine \
|
|
||||||
| out like |
|
|
||||||
| a shaft |
|
|
||||||
| of gold |
|
|
||||||
| when all |
|
|
||||||
| around is |
|
|
||||||
\ dark. /
|
|
||||||
-----------
|
|
||||||
''')
|
|
||||||
IT_WORKED.append(r'''
|
|
||||||
______________________________
|
|
||||||
< I'm a lumberjack and I'm OK. >
|
|
||||||
------------------------------
|
|
||||||
''')
|
|
||||||
IT_WORKED.append(r'''
|
|
||||||
____________________
|
|
||||||
/ Australia! \
|
|
||||||
| Australia! |
|
|
||||||
| Australia! |
|
|
||||||
\ We love you, amen. /
|
|
||||||
--------------------
|
|
||||||
''')
|
|
||||||
IT_WORKED.append(r'''
|
|
||||||
______________
|
|
||||||
/ Say no more, \
|
|
||||||
| Nudge nudge |
|
|
||||||
\ wink wink. /
|
|
||||||
--------------
|
|
||||||
''')
|
|
||||||
IT_WORKED.append(r'''
|
|
||||||
________________
|
|
||||||
/ And there was \
|
|
||||||
\ much rejoicing /
|
|
||||||
----------------
|
|
||||||
''')
|
|
||||||
IT_WORKED.append(r'''
|
|
||||||
__________
|
|
||||||
< Success! >
|
|
||||||
----------''')
|
|
||||||
|
|
||||||
# Failure displays
|
|
||||||
IT_FAILED = []
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
__________
|
|
||||||
< Failure! >
|
|
||||||
----------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
___________
|
|
||||||
< Run away! >
|
|
||||||
-----------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
______________________
|
|
||||||
/ NOBODY expects the \
|
|
||||||
\ Spanish Inquisition! /
|
|
||||||
----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
______________________
|
|
||||||
/ Spam spam spam spam \
|
|
||||||
\ baked beans and spam /
|
|
||||||
----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
____________________
|
|
||||||
/ Brave Sir Robin \
|
|
||||||
\ ran away. /
|
|
||||||
--------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
_______________________
|
|
||||||
< Message for you, sir. >
|
|
||||||
-----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
____________________
|
|
||||||
/ We are the knights \
|
|
||||||
\ who say.... NI! /
|
|
||||||
--------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
____________________
|
|
||||||
/ Now go away or I \
|
|
||||||
| shall taunt you a |
|
|
||||||
\ second time. /
|
|
||||||
--------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
____________________
|
|
||||||
/ It's time for the \
|
|
||||||
| penguin on top of |
|
|
||||||
| your television to |
|
|
||||||
\ explode. /
|
|
||||||
--------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
_____________________
|
|
||||||
/ We were in the nick \
|
|
||||||
| of time. You were |
|
|
||||||
\ in great peril. /
|
|
||||||
---------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
___________________
|
|
||||||
/ I know a dead \
|
|
||||||
| parrot when I see |
|
|
||||||
| one, and I'm |
|
|
||||||
| looking at one |
|
|
||||||
\ right now. /
|
|
||||||
-------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
_________________
|
|
||||||
/ Welcome to the \
|
|
||||||
| National Cheese |
|
|
||||||
\ Emporium /
|
|
||||||
-----------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
______________________
|
|
||||||
/ What is the airspeed \
|
|
||||||
| velocity of an |
|
|
||||||
\ unladen swallow? /
|
|
||||||
----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
______________________
|
|
||||||
/ Now stand aside, \
|
|
||||||
\ worthy adversary. /
|
|
||||||
----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
___________________
|
|
||||||
/ Okay, we'll call \
|
|
||||||
\ it a draw. /
|
|
||||||
-------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
_______________
|
|
||||||
/ She turned me \
|
|
||||||
\ into a newt! /
|
|
||||||
---------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
___________________
|
|
||||||
< Fetchez la vache! >
|
|
||||||
-------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
__________________________
|
|
||||||
/ We'd better not risk \
|
|
||||||
| another frontal assault, |
|
|
||||||
\ that rabbit's dynamite. /
|
|
||||||
--------------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
______________________
|
|
||||||
/ This is supposed to \
|
|
||||||
| be a happy occasion. |
|
|
||||||
| Let's not bicker and |
|
|
||||||
| argue about who |
|
|
||||||
\ killed who. /
|
|
||||||
----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
_______________________
|
|
||||||
< You have been borked. >
|
|
||||||
-----------------------
|
|
||||||
''')
|
|
||||||
IT_FAILED.append(r'''
|
|
||||||
__________________
|
|
||||||
/ We used to dream \
|
|
||||||
| of living in a |
|
|
||||||
\ corridor! /
|
|
||||||
-------------------
|
|
||||||
''')
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@ -677,16 +442,27 @@ def prettify_yaml(obj):
|
|||||||
return formatted
|
return formatted
|
||||||
|
|
||||||
|
|
||||||
|
def _pick_message(pattern):
|
||||||
|
if not pattern:
|
||||||
|
return ""
|
||||||
|
expanded_pattern = sh.joinpths(settings.MESSAGING_DIR, pattern)
|
||||||
|
file_matches = glob.glob(expanded_pattern)
|
||||||
|
file_matches = [f for f in file_matches if sh.isfile(f)]
|
||||||
|
try:
|
||||||
|
file_selected = random.choice(file_matches)
|
||||||
|
with open(file_selected, 'r') as fh:
|
||||||
|
contents = fh.read()
|
||||||
|
return contents.strip("\n\r")
|
||||||
|
except (IndexError, IOError):
|
||||||
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def _get_welcome_stack():
|
def _get_welcome_stack():
|
||||||
msg = random.choice(STACKERS)
|
return _pick_message("stacks.*")
|
||||||
msg = msg.strip("\n\r")
|
|
||||||
return msg
|
|
||||||
|
|
||||||
|
|
||||||
def _welcome_slang():
|
def _welcome_slang():
|
||||||
msg = random.choice(WELCOMES)
|
return _pick_message("welcome.*")
|
||||||
msg = msg.strip("\n\r")
|
|
||||||
return msg
|
|
||||||
|
|
||||||
|
|
||||||
def _color_blob(text, text_color):
|
def _color_blob(text, text_color):
|
||||||
@ -699,10 +475,10 @@ def _color_blob(text, text_color):
|
|||||||
|
|
||||||
|
|
||||||
def _goodbye_header(worked):
|
def _goodbye_header(worked):
|
||||||
take_from = IT_WORKED
|
take_from = _pick_message("success.*")
|
||||||
apply_color = 'green'
|
apply_color = 'green'
|
||||||
if not worked:
|
if not worked:
|
||||||
take_from = IT_FAILED
|
take_from = _pick_message("fails.*")
|
||||||
apply_color = 'red'
|
apply_color = 'red'
|
||||||
msg = random.choice(take_from)
|
msg = random.choice(take_from)
|
||||||
msg = msg.strip("\n\r")
|
msg = msg.strip("\n\r")
|
||||||
|
Loading…
Reference in New Issue
Block a user