markov: get_or_create_target_context properly

This commit is contained in:
Brian S. Stephan 2015-05-15 17:02:13 -05:00
parent bf68099f2f
commit 950ad4cc4c
1 changed files with 8 additions and 1 deletions

View File

@ -88,8 +88,15 @@ def get_or_create_target_context(target_name):
"""Return the context for a provided nick/channel, creating missing ones."""
# find the stuff, or create it
target, c = MarkovTarget.objects.get_or_create(name=target_name)
try:
target = MarkovTarget.objects.get(name=target_name)
return target.context
except MarkovTarget.DoesNotExist:
# we need to create a context and a target, and we have to make the context first
# make a context --- lacking a good idea, just create one with this target name until configured otherwise
context, c = MarkovContext.objects.get_or_create(name=target_name)
target, c = MarkovTarget.objects.get_or_create(name=target_name, context=context)
return target.context
except MarkovContext.DoesNotExist:
# make a context --- lacking a good idea, just create one with this target name until configured otherwise