Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Speak.activity/brain.py
diff options
context:
space:
mode:
Diffstat (limited to 'Speak.activity/brain.py')
-rw-r--r--Speak.activity/brain.py116
1 files changed, 0 insertions, 116 deletions
diff --git a/Speak.activity/brain.py b/Speak.activity/brain.py
deleted file mode 100644
index 579d716..0000000
--- a/Speak.activity/brain.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# HablarConSara.activity
-# A simple hack to attach a chatterbot to speak activity
-# Copyright (C) 2008 Sebastian Silva Fundacion FuenteLibre sebastian@fuentelibre.org
-#
-# Style and structure taken from Speak.activity Copyright (C) Joshua Minor
-#
-# HablarConSara.activity is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# HablarConSara.activity is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with HablarConSara.activity. If not, see <http://www.gnu.org/licenses/>.
-
-import gtk
-import gobject
-from gettext import gettext as _
-
-import logging
-logger = logging.getLogger('speak')
-
-from toolkit.combobox import ComboBox
-
-import bot.aiml
-import voice
-
-BOTS = {
- _('Spanish'): { 'name': 'Sara',
- 'brain': 'bot/sara.brn',
- 'predicates': { 'nombre_bot': 'Sara',
- 'botmaster': 'la comunidad Azucar' } },
- _('English'): { 'name': 'Alice',
- 'brain': 'bot/alice.brn',
- 'predicates': { 'name': 'Alice',
- 'master': 'the Sugar Community' } } }
-
-# load Standard AIML set for restricted systems
-if int([i for i in file('/proc/meminfo').readlines()
- if i.startswith('MemTotal:')][0].split()[1]) < 524288:
- BOTS[_('English')]['brain'] = 'bot/alisochka.brn'
-
-_kernel = None
-_kernel_voice = None
-
-
-def get_default_voice():
- default_voice = voice.defaultVoice()
- if default_voice.friendlyname not in BOTS:
- return voice.allVoices()[_('English')]
- else:
- return default_voice
-
-
-def get_voices():
- voices = ComboBox()
- for lang in sorted(BOTS.keys()):
- voices.append_item(voice.allVoices()[lang], lang)
- return voices.get_model()
-
-
-def respond(voice, text):
- if _kernel is None:
- return text
- else:
- return _kernel.respond(text)
-
-
-def load(activity, voice, sorry=None):
- if voice == _kernel_voice:
- return False
-
- old_cursor = activity.get_cursor()
- activity.set_cursor(gtk.gdk.WATCH)
-
- def load_brain():
- global _kernel
- global _kernel_voice
-
- is_first_session = _kernel is None
-
- try:
- brain = BOTS[voice.friendlyname]
- logger.debug('Load bot: %s' % brain)
-
- kernel = bot.aiml.Kernel()
- kernel.loadBrain(brain['brain'])
- for name, value in brain['predicates'].items():
- kernel.setBotPredicate(name, value)
-
- if _kernel is not None:
- del _kernel
- _kernel = None
- import gc
- gc.collect()
-
- _kernel = kernel
- _kernel_voice = voice
- finally:
- activity.set_cursor(old_cursor)
-
- if is_first_session:
- hello = _("Hello, I'am a robot \"%s\". Ask me any question.") \
- % BOTS[voice.friendlyname]['name']
- if sorry:
- hello += ' ' + sorry
- activity.face.say_notification(hello)
- elif sorry:
- activity.face.say_notification(sorry)
-
- gobject.idle_add(load_brain)
- return True