Skip to content

Commit

Permalink
Merge pull request #755 from ktbyers/develop
Browse files Browse the repository at this point in the history
Netmiko release 2.1.1
  • Loading branch information
ktbyers committed Mar 22, 2018
2 parents e575775 + 27aea6e commit 26db699
Show file tree
Hide file tree
Showing 23 changed files with 427 additions and 272 deletions.
8 changes: 4 additions & 4 deletions _release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ else
echo
echo
echo "Netmiko Installed Version"
python -c "import netmiko; print netmiko.__version__"
TEST_VERSION=`python -c "import netmiko; print netmiko.__version__"`
python -c "import netmiko; print(netmiko.__version__)"
TEST_VERSION=`python -c "import netmiko; print(netmiko.__version__)"`
echo
fi

Expand Down Expand Up @@ -139,7 +139,7 @@ else
echo
echo
echo "Netmiko Installed Version (from pypi)"
python -c "import netmiko; print netmiko.__version__"
TEST_VERSION=`python -c "import netmiko; print netmiko.__version__"`
python -c "import netmiko; print(netmiko.__version__)"
TEST_VERSION=`python -c "import netmiko; print(netmiko.__version__)"`
echo
fi
2 changes: 1 addition & 1 deletion netmiko/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
NetmikoAuthError = NetMikoAuthenticationException
Netmiko = ConnectHandler

__version__ = '2.1.0'
__version__ = '2.1.1'
__all__ = ('ConnectHandler', 'ssh_dispatcher', 'platforms', 'SCPConn', 'FileTransfer',
'NetMikoTimeoutException', 'NetMikoAuthenticationException',
'NetmikoTimeoutError', 'NetmikoAuthError', 'InLineTransfer', 'redispatch',
Expand Down
4 changes: 2 additions & 2 deletions netmiko/arista/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from __future__ import unicode_literals
from netmiko.arista.arista_ssh import AristaSSH, AristaFileTransfer
from netmiko.arista.arista import AristaSSH, AristaTelnet, AristaFileTransfer

__all__ = ['AristaSSH', 'AristaFileTransfer']
__all__ = ['AristaSSH', 'AristaTelnet', 'AristaFileTransfer']
21 changes: 13 additions & 8 deletions netmiko/arista/arista_ssh.py → netmiko/arista/arista.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from netmiko import log


class AristaSSH(CiscoSSHConnection):
class AristaBase(CiscoSSHConnection):
def session_preparation(self):
"""Prepare the session after the connection has been established."""
self._test_channel_read(pattern=r'[>#]')
Expand Down Expand Up @@ -43,6 +43,17 @@ def _return_cli(self):
return self.send_command('exit', expect_string=r"[#>]")


class AristaSSH(AristaBase):
pass


class AristaTelnet(AristaBase):
def __init__(self, *args, **kwargs):
default_enter = kwargs.get('default_enter')
kwargs['default_enter'] = '\r\n' if default_enter is None else default_enter
super(AristaTelnet, self).__init__(*args, **kwargs)


class AristaFileTransfer(CiscoFileTransfer):
"""Arista SCP File Transfer driver."""
def __init__(self, ssh_conn, source_file, dest_file, file_system="/mnt/flash", direction='put'):
Expand All @@ -56,12 +67,6 @@ def remote_space_available(self, search_pattern=""):
"""Return space available on remote device."""
return self._remote_space_available_unix(search_pattern=search_pattern)

def verify_space_available(self, search_pattern=r"(\d+) bytes free"):
"""Verify sufficient space is available on destination file system (return boolean)."""
return super(AristaFileTransfer, self).verify_space_available(
search_pattern=search_pattern
)

def check_file_exists(self, remote_cmd=""):
"""Check if the dest_file already exists on the file system (return boolean)."""
return self._check_file_exists_unix(remote_cmd=remote_cmd)
Expand All @@ -77,7 +82,7 @@ def remote_md5(self, base_cmd='verify /md5', remote_file=None):
elif self.direction == 'get':
remote_file = self.source_file
remote_md5_cmd = "{} file:{}/{}".format(base_cmd, self.file_system, remote_file)
dest_md5 = self.ssh_ctl_chan.send_command(remote_md5_cmd, max_loops=750, delay_factor=2)
dest_md5 = self.ssh_ctl_chan.send_command(remote_md5_cmd, max_loops=750, delay_factor=4)
dest_md5 = self.process_md5(dest_md5)
return dest_md5

Expand Down
Loading

0 comments on commit 26db699

Please sign in to comment.