Sindbad~EG File Manager
import time
from netmiko.cisco_base_connection import CiscoBaseConnection
class SixwindOSBase(CiscoBaseConnection):
def session_preparation(self):
"""Prepare the session after the connection has been established."""
self.ansi_escape_codes = True
self._test_channel_read()
self.set_base_prompt()
# Clear the read buffer
time.sleep(0.3 * self.global_delay_factor)
self.clear_buffer()
def disable_paging(self, *args, **kwargs):
"""6WIND requires no-pager at the end of command, not implemented at this time."""
pass
def set_base_prompt(
self, pri_prompt_terminator=">", alt_prompt_terminator="#", delay_factor=1
):
"""Sets self.base_prompt: used as delimiter for stripping of trailing prompt in output."""
prompt = super().set_base_prompt(
pri_prompt_terminator=pri_prompt_terminator,
alt_prompt_terminator=alt_prompt_terminator,
delay_factor=delay_factor,
)
prompt = prompt.strip()
self.base_prompt = prompt
return self.base_prompt
def config_mode(self, config_command="edit running", pattern=""):
"""Enter configuration mode."""
return super().config_mode(config_command=config_command, pattern=pattern)
def commit(self, comment="", delay_factor=1):
"""
Commit the candidate configuration.
Raise an error and return the failure if the commit fails.
"""
delay_factor = self.select_delay_factor(delay_factor)
error_marker = "Failed to generate committed config"
command_string = "commit"
output = self.config_mode()
output += self.send_command(
command_string,
strip_prompt=False,
strip_command=False,
delay_factor=delay_factor,
expect_string=r"#",
)
output += self.exit_config_mode()
if error_marker in output:
raise ValueError(f"Commit failed with following errors:\n\n{output}")
return output
def exit_config_mode(self, exit_config="exit", pattern=r">"):
"""Exit configuration mode."""
return super().exit_config_mode(exit_config=exit_config, pattern=pattern)
def check_config_mode(self, check_string="#", pattern=""):
"""Checks whether in configuration mode. Returns a boolean."""
return super().check_config_mode(check_string=check_string, pattern=pattern)
def save_config(
self, cmd="copy running startup", confirm=True, confirm_response="y"
):
"""Save Config for 6WIND"""
return super().save_config(
cmd=cmd, confirm=confirm, confirm_response=confirm_response
)
def check_enable_mode(self, *args, **kwargs):
"""6WIND has no enable mode."""
pass
def enable(self, *args, **kwargs):
"""6WIND has no enable mode."""
pass
def exit_enable_mode(self, *args, **kwargs):
"""6WIND has no enable mode."""
pass
class SixwindOSSSH(SixwindOSBase):
pass
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists