def test_foo(self): goz = Gozokia() goz.initialize() goz.set_io(input_type="value", output_type="value") value = "foo" self.assertEqual(goz.api(value), "bar") value = "foo" self.assertEqual(goz.api(value), "bar second") value = "foo" self.assertEqual(goz.api(value), "No rules. you said: foo")
def test_greetings(self): goz = Gozokia() goz.rule(name='greeting', type=goz.RAISE_COND, rank=100)(GreetingRaise) goz.initialize() goz.set_io(input_type="value", output_type="value") value = "foo" self.assertEqual(goz.api(value), "bar") value = "Bacon" self.assertEqual(goz.api(value), "No rules. you said: Bacon") value = "Hi" self.assertEqual(goz.api(value), "Hi, who are you?") value = "i am Alberto" self.assertEqual(goz.api(value), "Hi, alberto")
def api(request): # Initialize if request.user.is_authenticated(): goz = Gozokia(user=request.user.id, session=request.session.session_key) # goz.rule(name='greeting', type=goz.OBJETIVE_COND, rank=100)(GreetingObjetive) goz.rule(name='greeting', type=goz.RAISE_COND, rank=100)(GreetingRaise) goz.rule(name='whoami', type=goz.RAISE_COND, rank=1)(Whoami) goz.initialize(model=GozokiaChat) return JsonResponse({'input': request.GET.get('input'), 'session': request.session.session_key, 'output': goz.api(request.GET.get('input')), }) else: return HttpResponse("No login")
def get(self, request, *args, **kwargs): # Initialize if request.user.is_authenticated(): goz = Gozokia(user=request.user.id, session=request.session.session_key) goz.rule(name='greeting', type=goz.RAISE_COND, rank=100)(GreetingRaise) goz.rule(name='whoami', type=goz.RAISE_COND, rank=1)(Whoami) goz.initialize(model=GozokiaChat) return render(request, self.template_name, {'input': request.GET.get('input'), 'session': request.session.session_key, 'output': goz.api(request.GET.get('input')), }) else: return HttpResponse("No login")
# encoding: utf-8 import sys import os from gozokia import Gozokia os.environ.setdefault("GOZOKIA_SETTINGS_MODULE", "settings") goz = Gozokia() goz.initialize() goz.set_io(input_type="terminal_txt", output_type="terminal_txt") goz.console()