cyphesis/rulesets/basic/scripts/mind/Knowledge.py

29 lines
852 B
Python
Raw Permalink Normal View History

2018-10-11 22:48:46 +02:00
# This file is distributed under the terms of the GNU General Public license.
# Copyright (C) 1999 Aloril (See the file COPYING for details).
class Knowledge:
def __init__(self):
2018-10-11 22:48:46 +02:00
self.knowings = {}
def add(self, what, key, value):
2018-05-04 19:17:55 +02:00
if what not in self.knowings:
self.knowings[what] = {}
self.knowings[what][key] = value
2018-10-11 22:48:46 +02:00
def remove(self, what, key):
2018-05-04 19:17:55 +02:00
if what in self.knowings:
del self.knowings[what][key]
2018-10-11 22:48:46 +02:00
2018-05-04 19:17:55 +02:00
def get(self, what, key=None):
if not key:
return self.knowings.get(what, {})
else:
if what not in self.knowings:
return None
# Return None if value does not exist.
return self.knowings[what].get(key)
2018-10-11 22:48:46 +02:00
def __str__(self):
2018-10-11 22:48:46 +02:00
s = "<know: " + str(self.knowings)
return s + ">\n"