Sindbad~EG File Manager
import time
import re
from netmiko.cisco.cisco_ios import CiscoIosBase
from netmiko.ssh_exception import NetmikoAuthenticationException
class KeymileNOSSSH(CiscoIosBase):
def session_preparation(self):
"""Prepare the session after the connection has been established."""
self.set_base_prompt()
self.disable_paging()
time.sleep(0.3 * self.global_delay_factor)
self.clear_buffer()
def _test_channel_read(self, count=40, pattern=""):
"""Since Keymile NOS always returns True on paramiko.connect() we
check the output for substring Login incorrect after connecting."""
output = super()._test_channel_read(count=count, pattern=pattern)
pattern = r"Login incorrect"
if re.search(pattern, output):
self.paramiko_cleanup()
msg = "Authentication failure: unable to connect"
msg += f"{self.device_type} {self.host}:{self.port}"
msg += self.RESPONSE_RETURN + "Login incorrect"
raise NetmikoAuthenticationException(msg)
else:
return output
def special_login_handler(self, delay_factor=1):
"""Since Keymile NOS always returns True on paramiko.connect() we
check the output for substring Login incorrect after connecting."""
self._test_channel_read(pattern=r"(>|Login incorrect)")
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists