mirror of
https://github.com/evennia/evennia.git
synced 2026-03-29 20:17:16 +02:00
Possible files that need to be cleanedup; commands/info.py:cmd_list commands/general.py:cmd_who commands/comsys.py:cmd_who cmdtable.py ansi.py
22 lines
790 B
Python
22 lines
790 B
Python
"""
|
|
The ReloadMixin class is meant as an example, but should work
|
|
for basic purposes as a mixin inheritance.
|
|
"""
|
|
class ReloadMixin():
|
|
"""
|
|
This class is a generic reload mixin providing the two
|
|
methods required to cache and reload an object.
|
|
"""
|
|
def cache(self, reloader, do_save=True):
|
|
if do_save:
|
|
if self.save and callable(self.save):
|
|
self.save()
|
|
else:
|
|
raise ValueError("This object does not have a save function, you must pass do_save=False for this object type.")
|
|
|
|
reloader.cache_object(self)
|
|
|
|
def reload(self, cache):
|
|
for key, value in cache.iteritems():
|
|
if self.__dict__[key] != value:
|
|
self.__dict__[key] = value
|