The function is useful to process logs generated by OpenBSC/OsmoBTS VTY.

-- 
Regards,
Alexander Chemeris.
CEO, Fairwaves, Inc.
https://fairwaves.co

Subscribe to Fairwaves news: http://eepurl.com/baL_pf
From 3ff9dc5d781387192e0bef8ad0b193e9bb67bdfa Mon Sep 17 00:00:00 2001
From: Alexander Chemeris <[email protected]>
Date: Sat, 30 May 2015 10:07:53 -0400
Subject: [PATCH] obscvty: Implement readlines() generator function.

---
 osmopy/obscvty.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/osmopy/obscvty.py b/osmopy/obscvty.py
index c7f8b27..f358b18 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")
-- 
1.9.1

Reply via email to