aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Chemeris <Alexander.Chemeris@gmail.com>2015-05-30 10:07:53 -0400
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-05-30 17:45:49 +0200
commit2f48313ed6c598d38a59332166823ddc7fe309ef (patch)
tree6173ebb92970f7cbf0ea1f57f9768946aa5774bc
parentb819b57a98d142ba004d9dbc6c786c1cd9f1c76c (diff)
obscvty: Implement readlines() generator function.
-rwxr-xr-xosmopy/obscvty.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/osmopy/obscvty.py b/osmopy/obscvty.py
index c7f8b27..2654f3d 100755
--- a/osmopy/obscvty.py
+++ b/osmopy/obscvty.py
@@ -127,6 +127,25 @@ class VTYInteract(object):
self._close_socket()
return res[len(request) + 2: -end]
+ """A generator function yielding lines separated by delim.
+ Behaves similar to a file readlines() method.
+
+ Example of use:
+ for line in vty.readlines():
+ print line
+ """
+ def readlines(self, recv_buffer=4096, delim='\n'):
+ buffer = ''
+ data = True
+ while data:
+ data = self.socket.recv(recv_buffer)
+ buffer += data
+
+ while buffer.find(delim) != -1:
+ line, buffer = buffer.split('\n', 1)
+ yield line
+ return
+
# There's no close parameter, as close=True makes this useless
def enable(self):
self.command("enable")