Add a little bit of functionality.... in theory it should be able to run.... in theory, not yet tested

This commit is contained in:
2020-05-24 12:46:58 +02:00
parent ca4f0ab6ee
commit a05456cda4
4 changed files with 71 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
import re
class SubjectHandler:
"""
class for managing all the sub-functions(nodes)
"""
class Node:
"""
node containing a sub-function
"""
def __init__(self, regex, f):
"""
creating node
:param regex: regex checked against subject
:param f: function to be called if keyword in subject
"""
self.regex = regex
self.func = f
def __init__(self):
self.nodes = []
def __add__(self, other):
"""
adding node to self
:param other: node
:return: self with added node
"""
self.nodes.append(other)
return self
def __len__(self):
return len(self.nodes)
def run(self, messages):
"""
running the class and checking if there's a regex match in any node and then running the node
:param messages: array of messages, which should be checked
:return: -
"""
for message in messages:
subject = message[0]
for node in self.nodes:
if re.match(node.regex, subject):
node.func(message)