]> kaliko git repositories - sid.git/blobdiff - sid/rtbl.py
rtbl: Ease testing
[sid.git] / sid / rtbl.py
index e5e4e6f933e1fbd093380a36f0a05e34d2a0fa42..b5c58cbef662635c5105572f3812d47d4903547f 100644 (file)
@@ -21,9 +21,11 @@ def jid_to_sha256(jid: JID) -> str:
 class BL:
     """Plain object to keep track of block list items.
     Only used in RTBL plugin."""
+    #: Initial seed to ease testing
+    init = {}
 
     def __init__(self, initial_bl):
-        self.sha256_jids: Dict[str, Optional[str]] = {}
+        self.sha256_jids: Dict[str, Optional[str]] = dict(BL.init)
         for item in initial_bl:
             self.insert_item(item)
 
@@ -126,7 +128,7 @@ class RTBL(Plugin):
         self.log.debug('Retracted item %s from %s' % (
             msg['pubsub_event']['items']['retract']['id'],
             msg['pubsub_event']['items']['node']))
-        self.blocklist.retract_item(msg['pubsub_event']['items']['retract']['id'])
+        self.blocklist.retract_item(msg['pubsub_event']['items']['retract'])
 
     async def _publish(self, msg):
         """Handler receiving a publish item event."""
@@ -139,7 +141,7 @@ class RTBL(Plugin):
         else:
             self.log.debug('No item content')
             return
-        self.blocklist.insert_item(msg['pubsub_event']['items']['item']['id'])
+        self.blocklist.insert_item(msg['pubsub_event']['items']['item'])
         # Are current participants in the block list
         for jid in list(self.participants):
             await self.rtbl_ban(jid)