Vyos.post_init()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
cc 1
c 2
b 0
f 1
dl 0
loc 8
rs 9.4285
1
from event import Event
2
try:
3
  from basemodule import BaseModule
4
except ImportError:
5
  from modules.basemodule import BaseModule
6
class Vyos(BaseModule):
7
  def post_init(self):
8
    vevent = Event("__.vyos__")
9
    vevent.define(msg_definition="^\.vyos")
10
    vevent.subscribe(self)
11
12
    self.box_to_ip = dict([('mech', '10.0.0.76'), ('bonekin', '192.168.17.40'), ('thraust', '192.168.0.126')])
13
14
    self.bot.register_event(vevent, self)
15
  
16
  def handle(self, event):
17
    self.event = event
18
    if event.msg.startswith(".vyos") and len(event.msg.split()) > 1:
19
      nick = event.msg.split()[-1]
20
      if not self.ping(nick):
21
        self.say(event.channel, "HEY " + nick.upper() + " UR VYOS BAWKCXZXCZX IS DOWN")
22
      else:
23
        self.say(event.channel, "HEY " + nick.upper() + " U KEPT SOMETHING ALIVE 4 ONCE")
24
25
  def ping(self, nick):
26
    import subprocess
27
    try:
28
      resp = subprocess.call(["ping", "-c 1", self.box_to_ip[nick.lower()]])
29
    except KeyError:
30
      self.say(self.event.channel, "BAD NAME IDIOT")
31
      return False
32
    if resp == 0:
33
      return True
34
    else:
35
      return False
36
37