Revision: 177
Author: janne.t.harkonen
Date: Wed Aug 29 22:24:27 2012
Log: Enumerate param names in set_x_configuration keywords
http://code.google.com/p/robotframework-sshlibrary/source/detail?r=177
Modified:
/trunk/src/SSHLibrary/config.py
/trunk/src/SSHLibrary/library.py
/trunk/utest/test_library.py
=======================================
--- /trunk/src/SSHLibrary/config.py Fri Aug 24 05:10:16 2012
+++ /trunk/src/SSHLibrary/config.py Wed Aug 29 22:24:27 2012
@@ -33,27 +33,14 @@
"""Update configuration entries.
:param entries: entries to be updated, keyword argument names must
- match existing entry names.
+ match existing entry names. If any value in `**entries` is
None,
+ the corresponding entry is *not* updated.
See `__init__` for an example.
"""
- for name in entries:
- self._config[name].set(entries[name])
-
- def update_with_strings(self, *entries):
- """Update configuration entries.
-
- :param entries: entries to be updated as strings in format
name=value.
-
- Example:
- cfg = Configuration(name=StringEntry('initial'))
- assert cfg.name == initial
- cfg.update('name=John Doe')
- assert cfg.name == 'John Doe'
- """
- for e in entries:
- name, value = e.split('=', 1)
- self.update(**{name: value})
+ for name, value in entries.items():
+ if value is not None:
+ self._config[name].set(value)
def get(self, name):
"""Return entry corresponding to name."""
=======================================
--- /trunk/src/SSHLibrary/library.py Wed Aug 29 22:24:17 2012
+++ /trunk/src/SSHLibrary/library.py Wed Aug 29 22:24:27 2012
@@ -56,7 +56,7 @@
ROBOT_LIBRARY_VERSION = __version__
def __init__(self, timeout=3, newline='LF', prompt=None,
- log_level='INFO'):
+ loglevel='INFO'):
"""SSH Library allows some import time configuration.
`timeout`, `newline` and `prompt` set default values for new
@@ -64,7 +64,7 @@
later be changed using `Set Default Configuration` and settings
of a single connection with `Set Client Configuration`.
- `log_level` sets the default log level used to log return values of
+ `loglevel` sets the default log level used to log return values of
`Read Until` variants. It can also be later changed using `Set
Default Configuration`.
@@ -73,13 +73,14 @@
| Library | SSHLibrary | timeout=10 | prompt=> |
"""
self._cache = ConnectionCache()
- self._config = DefaultConfig(timeout, newline, prompt, log_level)
+ self._config = DefaultConfig(timeout, newline, prompt, loglevel)
@property
def ssh_client(self):
return self._cache.current
- def set_default_configuration(self, *entries):
+ def set_default_configuration(self, timeout=None, newline=None,
+ prompt=None, loglevel=None):
"""Update the default configuration values.
This keyword can only be used using named argument syntax. The
names
@@ -89,9 +90,11 @@
Example:
| Set Default Configuration | newline=CRLF | prompt=$ |
"""
- self._config.update_with_strings(*entries)
+ self._config.update(timeout=timeout, newline=newline,
prompt=prompt,
+ loglevel=loglevel)
- def set_client_configuration(self, *entries):
+ def set_client_configuration(self, timeout=None, newline=None,
prompt=None,
+ term_type='vt100', width=80, height=24):
"""Update the client configuration values.
Works on the currently selected connection. At least one connection
@@ -104,7 +107,9 @@
Example:
| Set Client Configuration | term_type=ansi | timeout=2 hours |
"""
- self.ssh_client.config.update_with_strings(*entries)
+ self.ssh_client.config.update(timeout=timeout, newline=newline,
+ prompt=prompt, term_type=term_type,
+ width=width, height=height)
def open_connection(self, host, alias=None, port=22, timeout=None,
newline=None, prompt=None, term_type='vt100',
@@ -540,14 +545,14 @@
self._log(msg, 'DEBUG')
def _log(self, msg, level=None):
- level = self._active_log_level(level)
+ level = self._active_loglevel(level)
msg = msg.strip()
if msg:
print '*%s* %s' % (level, msg)
- def _active_log_level(self, level):
+ def _active_loglevel(self, level):
if level is None:
- return self._config.log_level
+ return self._config.loglevel
if isinstance(level, basestring) and \
level.upper() in
['TRACE', 'DEBUG', 'INFO', 'WARN', 'HTML']:
return level.upper()
@@ -556,9 +561,9 @@
class DefaultConfig(Configuration):
- def __init__(self, timeout, newline, prompt, log_level):
+ def __init__(self, timeout, newline, prompt, loglevel):
Configuration.__init__(self,
timeout=TimeEntry(timeout or 3),
newline=NewlineEntry(newline or 'LF'),
prompt=StringEntry(prompt),
- log_level=LogLevelEntry(log_level or 'INFO'))
+ loglevel=LogLevelEntry(loglevel or 'INFO'))
=======================================
--- /trunk/utest/test_library.py Fri Aug 24 04:21:30 2012
+++ /trunk/utest/test_library.py Wed Aug 29 22:24:27 2012
@@ -18,18 +18,18 @@
def test_set_default_confguarition(self):
timeout, newline, prompt, level = 1, '\r\n', '>', 'DEBUG'
lib = SSHLibrary()
- lib.set_default_configuration('timeout=%s' % timeout,
- 'newline=%s' % newline,
- 'prompt=%s' % prompt,
- 'log_level=%s' % level)
+ lib.set_default_configuration(timeout=timeout,
+ newline=newline,
+ prompt=prompt,
+ loglevel=level)
self._assert_config(lib._config, timeout, newline, prompt, level)
def _assert_config(self, cfg, timeout=3, newline='\n', prompt=None,
- log_level='INFO'):
+ loglevel='INFO'):
self.assertEquals(cfg.timeout, timeout)
self.assertEquals(cfg.newline, newline)
self.assertEquals(cfg.prompt, prompt)
- self.assertEquals(cfg.log_level, log_level)
+ self.assertEquals(cfg.loglevel, loglevel)
class TestSSHClientConfiguration(unittest.TestCase):
@@ -45,12 +45,12 @@
self._assert_config(lib.ssh_client.config, timeout=5)
def test_set_client_confguration(self):
- port, term_type = 23, 'ansi'
+ timeout, term_type = 23, 'ansi'
lib = SSHLibrary()
lib.open_connection(HOSTNAME)
- lib.set_client_configuration('port=%d' % port,
- 'term_type=%s' % term_type)
- self._assert_config(lib.ssh_client.config, port=port,
+ lib.set_client_configuration(timeout=timeout,
+ term_type=term_type)
+ self._assert_config(lib.ssh_client.config, timeout=timeout,
term_type=term_type)