-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBaseModule.py
More file actions
29 lines (22 loc) · 836 Bytes
/
BaseModule.py
File metadata and controls
29 lines (22 loc) · 836 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import json
from output import out
class BaseModule():
def __init__(self, interface):
self.interface = interface
self.loadConfig()
out.debug("Initialized " + self.getName() + " module", 2)
def printDescription(self):
out.moduleUsage(self.getName() + " has no description")
def printUsage(self):
out.moduleUsage(self.getName() + " has no usage documentation")
def getName(self):
return self.__class__.__name__
def condition(self, packet):
raise Exception("%s module should implement condition" % self.getName())
def action(self, packet):
raise Exception("%s module should implement action" % self.getName())
def loadConfig(self):
conf_path = './modules/' + self.getName() + '.cfg'
with open(conf_path) as conf_file:
# Open json configuration file
self.config = json.load(conf_file)