Apply black to cleanup code
This commit is contained in:
parent
45ed27c7f1
commit
a83f21ef2f
33 changed files with 256 additions and 194 deletions
|
|
@ -17,8 +17,10 @@ def get_component_class(component_name):
|
|||
subclasses = Component.__subclasses__()
|
||||
component_class = next((sc for sc in subclasses if sc.name == component_name), None)
|
||||
if component_class is None:
|
||||
message = f"Component named {component_name} has not been found. " \
|
||||
f"Make sure it has been imported before being used."
|
||||
message = (
|
||||
f"Component named {component_name} has not been found. "
|
||||
f"Make sure it has been imported before being used."
|
||||
)
|
||||
raise Exception(message)
|
||||
|
||||
return component_class
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ class Component:
|
|||
|
||||
Each Component must supply the name, it is used as a slot name but also part of the attribute key.
|
||||
"""
|
||||
|
||||
name = ""
|
||||
|
||||
def __init__(self, host=None):
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class DBField(AttributeProperty):
|
|||
db_fields = getattr(owner, "_db_fields", None)
|
||||
if db_fields is None:
|
||||
db_fields = {}
|
||||
setattr(owner, '_db_fields', db_fields)
|
||||
setattr(owner, "_db_fields", db_fields)
|
||||
db_fields[name] = self
|
||||
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ class NDBField(NAttributeProperty):
|
|||
ndb_fields = getattr(owner, "_ndb_fields", None)
|
||||
if ndb_fields is None:
|
||||
ndb_fields = {}
|
||||
setattr(owner, '_ndb_fields', ndb_fields)
|
||||
setattr(owner, "_ndb_fields", ndb_fields)
|
||||
ndb_fields[name] = self
|
||||
|
||||
|
||||
|
|
@ -64,6 +64,7 @@ class TagField:
|
|||
Default value of a tag is added when the component is registered.
|
||||
Tags are removed if the component itself is removed.
|
||||
"""
|
||||
|
||||
def __init__(self, default=None, enforce_single=False):
|
||||
self._category_key = None
|
||||
self._default = default
|
||||
|
|
@ -78,7 +79,7 @@ class TagField:
|
|||
tag_fields = getattr(owner, "_tag_fields", None)
|
||||
if tag_fields is None:
|
||||
tag_fields = {}
|
||||
setattr(owner, '_tag_fields', tag_fields)
|
||||
setattr(owner, "_tag_fields", tag_fields)
|
||||
tag_fields[name] = self
|
||||
|
||||
def __get__(self, instance, owner):
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class ComponentProperty:
|
|||
|
||||
Defaults can be overridden for this typeclass by passing kwargs
|
||||
"""
|
||||
|
||||
def __init__(self, component_name, **kwargs):
|
||||
"""
|
||||
Initializes the descriptor
|
||||
|
|
@ -49,6 +50,7 @@ class ComponentHandler:
|
|||
It lets you add or remove components and will load components as needed.
|
||||
It stores the list of registered components on the host .db with component_names as key.
|
||||
"""
|
||||
|
||||
def __init__(self, host):
|
||||
self.host = host
|
||||
self._loaded_components = {}
|
||||
|
|
@ -124,7 +126,9 @@ class ComponentHandler:
|
|||
self.host.signals.remove_object_listeners_and_responders(component)
|
||||
del self._loaded_components[component_name]
|
||||
else:
|
||||
message = f"Cannot remove {component_name} from {self.host.name} as it is not registered."
|
||||
message = (
|
||||
f"Cannot remove {component_name} from {self.host.name} as it is not registered."
|
||||
)
|
||||
raise ComponentIsNotRegistered(message)
|
||||
|
||||
def remove_by_name(self, name):
|
||||
|
|
@ -199,7 +203,9 @@ class ComponentHandler:
|
|||
self._set_component(component_instance)
|
||||
self.host.signals.add_object_listeners_and_responders(component_instance)
|
||||
else:
|
||||
message = f"Could not initialize runtime component {component_name} of {self.host.name}"
|
||||
message = (
|
||||
f"Could not initialize runtime component {component_name} of {self.host.name}"
|
||||
)
|
||||
raise ComponentDoesNotExist(message)
|
||||
|
||||
def _set_component(self, component):
|
||||
|
|
|
|||
|
|
@ -15,9 +15,11 @@ def as_listener(func=None, signal_name=None):
|
|||
signal_name (str): The name of the signal to listen to, defaults to function name.
|
||||
"""
|
||||
if not func and signal_name:
|
||||
|
||||
def wrapper(func):
|
||||
func._listener_signal_name = signal_name
|
||||
return func
|
||||
|
||||
return wrapper
|
||||
|
||||
signal_name = func.__name__
|
||||
|
|
@ -35,9 +37,11 @@ def as_responder(func=None, signal_name=None):
|
|||
signal_name (str): The name of the signal to respond to, defaults to function name.
|
||||
"""
|
||||
if not func and signal_name:
|
||||
|
||||
def wrapper(func):
|
||||
func._responder_signal_name = signal_name
|
||||
return func
|
||||
|
||||
return wrapper
|
||||
|
||||
signal_name = func.__name__
|
||||
|
|
@ -177,12 +181,12 @@ class SignalsHandler(object):
|
|||
"""
|
||||
type_host = type(obj)
|
||||
for att_name, att_obj in type_host.__dict__.items():
|
||||
listener_signal_name = getattr(att_obj, '_listener_signal_name', None)
|
||||
listener_signal_name = getattr(att_obj, "_listener_signal_name", None)
|
||||
if listener_signal_name:
|
||||
callback = getattr(obj, att_name)
|
||||
self.add_listener(signal_name=listener_signal_name, callback=callback)
|
||||
|
||||
responder_signal_name = getattr(att_obj, '_responder_signal_name', None)
|
||||
responder_signal_name = getattr(att_obj, "_responder_signal_name", None)
|
||||
if responder_signal_name:
|
||||
callback = getattr(obj, att_name)
|
||||
self.add_responder(signal_name=responder_signal_name, callback=callback)
|
||||
|
|
@ -196,12 +200,12 @@ class SignalsHandler(object):
|
|||
"""
|
||||
type_host = type(obj)
|
||||
for att_name, att_obj in type_host.__dict__.items():
|
||||
listener_signal_name = getattr(att_obj, '_listener_signal_name', None)
|
||||
listener_signal_name = getattr(att_obj, "_listener_signal_name", None)
|
||||
if listener_signal_name:
|
||||
callback = getattr(obj, att_name)
|
||||
self.remove_listener(signal_name=listener_signal_name, callback=callback)
|
||||
|
||||
responder_signal_name = getattr(att_obj, '_responder_signal_name', None)
|
||||
responder_signal_name = getattr(att_obj, "_responder_signal_name", None)
|
||||
if responder_signal_name:
|
||||
callback = getattr(obj, att_name)
|
||||
self.remove_responder(signal_name=responder_signal_name, callback=callback)
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class TestComponents(EvenniaTest):
|
|||
def test_character_can_register_runtime_component(self):
|
||||
rct = RuntimeComponentTestC.create(self.char1)
|
||||
self.char1.components.add(rct)
|
||||
test_c = self.char1.components.get('test_c')
|
||||
test_c = self.char1.components.get("test_c")
|
||||
|
||||
assert test_c
|
||||
assert test_c.my_int == 6
|
||||
|
|
@ -110,7 +110,7 @@ class TestComponents(EvenniaTest):
|
|||
assert handler.get("test_c") is rct
|
||||
|
||||
def test_can_access_component_regular_get(self):
|
||||
assert self.char1.cmp.test_a is self.char1.components.get('test_a')
|
||||
assert self.char1.cmp.test_a is self.char1.components.get("test_a")
|
||||
|
||||
def test_returns_none_with_regular_get_when_no_attribute(self):
|
||||
assert self.char1.cmp.does_not_exist is None
|
||||
|
|
@ -127,7 +127,7 @@ class TestComponents(EvenniaTest):
|
|||
def test_host_has_added_component_tags(self):
|
||||
rct = RuntimeComponentTestC.create(self.char1)
|
||||
self.char1.components.add(rct)
|
||||
test_c = self.char1.components.get('test_c')
|
||||
test_c = self.char1.components.get("test_c")
|
||||
|
||||
assert self.char1.tags.has(key="test_c", category="components")
|
||||
assert self.char1.tags.has(key="added_value", category="test_c::added_tag")
|
||||
|
|
@ -162,7 +162,7 @@ class TestComponents(EvenniaTest):
|
|||
assert not self.char1.tags.has(key="added_value", category="test_c::added_tag")
|
||||
|
||||
def test_component_tags_only_hold_one_value_when_enforce_single(self):
|
||||
test_b = self.char1.components.get('test_b')
|
||||
test_b = self.char1.components.get("test_b")
|
||||
test_b.single_tag = "first_value"
|
||||
test_b.single_tag = "second value"
|
||||
|
||||
|
|
@ -171,7 +171,7 @@ class TestComponents(EvenniaTest):
|
|||
assert not self.char1.tags.has(key="first_value", category="test_b::single_tag")
|
||||
|
||||
def test_component_tags_default_value_is_overridden_when_enforce_single(self):
|
||||
test_b = self.char1.components.get('test_b')
|
||||
test_b = self.char1.components.get("test_b")
|
||||
test_b.default_single_tag = "second value"
|
||||
|
||||
assert self.char1.tags.has(key="second value", category="test_b::default_single_tag")
|
||||
|
|
@ -179,12 +179,14 @@ class TestComponents(EvenniaTest):
|
|||
assert not self.char1.tags.has(key="first_value", category="test_b::default_single_tag")
|
||||
|
||||
def test_component_tags_support_multiple_values_by_default(self):
|
||||
test_b = self.char1.components.get('test_b')
|
||||
test_b = self.char1.components.get("test_b")
|
||||
test_b.multiple_tags = "first value"
|
||||
test_b.multiple_tags = "second value"
|
||||
test_b.multiple_tags = "third value"
|
||||
|
||||
assert all(val in test_b.multiple_tags for val in ("first value", "second value", "third value"))
|
||||
assert all(
|
||||
val in test_b.multiple_tags for val in ("first value", "second value", "third value")
|
||||
)
|
||||
assert self.char1.tags.has(key="first value", category="test_b::multiple_tags")
|
||||
assert self.char1.tags.has(key="second value", category="test_b::multiple_tags")
|
||||
assert self.char1.tags.has(key="third value", category="test_b::multiple_tags")
|
||||
|
|
@ -193,11 +195,11 @@ class TestComponents(EvenniaTest):
|
|||
class CharWithSignal(ComponentHolderMixin, DefaultCharacter):
|
||||
@signals.as_listener
|
||||
def my_signal(self):
|
||||
setattr(self, 'my_signal_is_called', True)
|
||||
setattr(self, "my_signal_is_called", True)
|
||||
|
||||
@signals.as_listener
|
||||
def my_other_signal(self):
|
||||
setattr(self, 'my_other_signal_is_called', True)
|
||||
setattr(self, "my_other_signal_is_called", True)
|
||||
|
||||
@signals.as_responder
|
||||
def my_response(self):
|
||||
|
|
@ -213,11 +215,11 @@ class ComponentWithSignal(Component):
|
|||
|
||||
@signals.as_listener
|
||||
def my_signal(self):
|
||||
setattr(self, 'my_signal_is_called', True)
|
||||
setattr(self, "my_signal_is_called", True)
|
||||
|
||||
@signals.as_listener
|
||||
def my_other_signal(self):
|
||||
setattr(self, 'my_other_signal_is_called', True)
|
||||
setattr(self, "my_other_signal_is_called", True)
|
||||
|
||||
@signals.as_responder
|
||||
def my_response(self):
|
||||
|
|
@ -236,14 +238,15 @@ class TestComponentSignals(BaseEvenniaTest):
|
|||
def setUp(self):
|
||||
super().setUp()
|
||||
self.char1 = create.create_object(
|
||||
CharWithSignal, key="Char",
|
||||
CharWithSignal,
|
||||
key="Char",
|
||||
)
|
||||
|
||||
def test_host_can_register_as_listener(self):
|
||||
self.char1.signals.trigger("my_signal")
|
||||
|
||||
assert self.char1.my_signal_is_called
|
||||
assert not getattr(self.char1, 'my_other_signal_is_called', None)
|
||||
assert not getattr(self.char1, "my_other_signal_is_called", None)
|
||||
|
||||
def test_host_can_register_as_responder(self):
|
||||
responses = self.char1.signals.query("my_response")
|
||||
|
|
@ -258,7 +261,7 @@ class TestComponentSignals(BaseEvenniaTest):
|
|||
|
||||
component = char.cmp.test_signal_a
|
||||
assert component.my_signal_is_called
|
||||
assert not getattr(component, 'my_other_signal_is_called', None)
|
||||
assert not getattr(component, "my_other_signal_is_called", None)
|
||||
|
||||
def test_component_can_register_as_responder(self):
|
||||
char = self.char1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue