vty.py: Fix endl removed when pkt buffer content ends exactly on a newline char

As a result, osmo_interact_vty.py was printing incorrect output:
"""
-        <param name='shutdown' doc='Remove the APN from administrative shut-down' />
-      </params>
+        <param name='shutdown' doc='Remove the APN from administrative shut-down' />      </params
"""

Change-Id: Ib1dbf39db1b27331ea4c39051e550a87780d9f76
This commit is contained in:
Pau Espin 2019-08-23 15:51:33 +02:00
parent ff0607cbf7
commit c6f8d55337
1 changed files with 10 additions and 3 deletions

View File

@ -116,7 +116,14 @@ class InteractVty(Interact):
# So we need to jump through hoops to not separate 'abc\n\rdef' as
# [ 'abc', '', 'def' ]; but also not to convert '\r\n\r\n' to '\r\n\n' ('\r{\r\n}\n')
# Simplest is to just drop all the '\r' and only care about the '\n'.
lines = last_line.replace('\r', '').splitlines()
last_line = last_line.replace('\r', '')
lines = last_line.splitlines()
if last_line.endswith('\n'):
received_lines.extend(lines)
last_line = ""
else:
# if pkt buffer ends in the middle of a line, we need to keep
# last non-finished line:
received_lines.extend(lines[:-1])
last_line = lines[-1]