class OpenVPNPlugin(CategoryPlugin): """OpenVPN plugin @ivar _b: Backend instance""" text = "OpenVPN" icon = "/dl/openvpn/icon.png" folder = "servers" def on_init(self): self._b = OpenVPNBackend(self.app) @event("button/click") def on_button_click(self, event, params, vars=None): try: if params[0] == "disconnect": # Disconnect tooltip clicked self.put_message("info", self._b.killbyaddr(params[1])) elif params[0] == "condRestart": # "Condional Restart" button clicked self.put_message("info", self._b.restartcond()) sleep(2) # Give OpenVPN some time to reload elif params[0] == "hardRestart": # "Hard Restart" button clicked self.put_message("info", self._b.restarthard()) sleep(2) # Give OpenVPN some time to reload except Exception, e: self.put_message("err", e)