35 lines
1003 B
Python

import random
import subprocess
import sys
from typing import Optional
import json
from .responses import COMPILED_CONFIG_FILE
from .static import colors
def get_response_from_situation(situation: str, colorize: Optional[bool] = None):
if colorize is None:
colorize = sys.stdout.isatty()
# get message
config = json.loads(COMPILED_CONFIG_FILE.read_text())
existing_moods = list(config["moods"].keys())
template_options = config["moods"][random.choice(existing_moods)][situation]
template: str = random.choice(template_options)
template_values = {}
for key, values in config["vars"].items():
template_values[key] = random.choice(values)
message = template.format(**template_values)
# return message
if not colorize:
return message
return colors.BOLD + message + colors.ENDC
def get_response(code: int, colorize: Optional[bool] = None) -> str:
return get_response_from_situation("positive" if code == 0 else "negative")