Skip to content

Commit

Permalink
Have EventManagerBase take components rather than the cache settings
Browse files Browse the repository at this point in the history
  • Loading branch information
FasterSpeeding committed Jul 8, 2021
1 parent 1504419 commit 9db17ab
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 6 deletions.
3 changes: 2 additions & 1 deletion hikari/impl/event_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,8 @@ def __init__(
) -> None:
self._cache = cache
self._entity_factory = entity_factory
super().__init__(event_factory=event_factory, intents=intents, cache_settings=cache.settings if cache else None)
components = cache.settings.components if cache else config.CacheComponents.NONE
super().__init__(event_factory=event_factory, intents=intents, cache_components=components)

def _cache_enabled_for(self, components: config.CacheComponents, /) -> bool:
return self._cache is not None and (self._cache.settings.components & components) == components
Expand Down
8 changes: 5 additions & 3 deletions hikari/impl/event_manager_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ def __init__(
event_factory: event_factory_.EventFactory,
intents: intents_.Intents,
*,
cache_settings: typing.Optional[config.CacheSettings] = None,
cache_components: config.CacheComponents = config.CacheComponents.NONE,
) -> None:
self._consumers: typing.Dict[str, _Consumer] = {}
self._dispatches_for_cache: typing.Dict[_Consumer, bool] = {}
Expand All @@ -346,11 +346,13 @@ def __init__(
if name.startswith("on_"):
event_name = name[3:]
if isinstance(member, _FilteredMethodT):
caching = bool(cache_settings and (member.__cache_components__ & cache_settings.components))
caching = (member.__cache_components__ & cache_components) != 0
self._consumers[event_name] = _Consumer(member, member.__event_types__, caching)

else:
self._consumers[event_name] = _Consumer(member, undefined.UNDEFINED, bool(cache_settings))
self._consumers[event_name] = _Consumer(
member, undefined.UNDEFINED, cache_components != cache_components.NONE
)

def _clear_enabled_cache(self) -> None:
self._enabled_consumers_cache = {}
Expand Down
4 changes: 2 additions & 2 deletions tests/hikari/impl/test_event_manager_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ async def not_a_listener(self):
manager = StubManager(
mock.Mock(),
0,
cache_settings=mock.Mock(components=config.CacheComponents.MEMBERS | config.CacheComponents.GUILD_CHANNELS),
cache_components=config.CacheComponents.MEMBERS | config.CacheComponents.GUILD_CHANNELS,
)
assert manager._consumers == {
"foo": event_manager_base._Consumer(manager.on_foo, (shard_events.ShardEvent, base_events.Event), True),
Expand Down Expand Up @@ -464,7 +464,7 @@ async def not_a_listener(self):
shard_events.ShardPayloadEvent,
)
expected_bat_events = (shard_events.MemberChunkEvent, shard_events.ShardEvent, base_events.Event)
manager = StubManager(mock.Mock(), 0, cache_settings=None)
manager = StubManager(mock.Mock(), 0, cache_components=config.CacheComponents.NONE)
assert manager._consumers == {
"foo": event_manager_base._Consumer(manager.on_foo, (shard_events.ShardEvent, base_events.Event), False),
"bar": event_manager_base._Consumer(manager.on_bar, expected_bar_events, False),
Expand Down

0 comments on commit 9db17ab

Please sign in to comment.