/usr/lib/python2.7/dist-packages/pynmea2/stream.py is in python-nmea2 1.5.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | from __future__ import unicode_literals
from . import nmea
class NMEAStreamReader(object):
'''
Reads NMEA sentences from a stream.
'''
def __init__(self, stream=None):
'''
Create NMEAStreamReader object.
`stream`: file-like object to read from, can be omitted to
pass data to `next` manually
'''
self.stream = stream
self.buffer = ''
def next(self, data=None):
'''
consume `data` (if given, or calls `stream.read()` if `stream` was given
in the constructor) and return a list of `NMEASentence` objects parsed
from the stream (may be empty)
'''
if data is None:
if self.stream:
data = self.stream.readline()
else:
return []
lines = (self.buffer + data).split('\n')
self.buffer = lines.pop()
return [nmea.NMEASentence.parse(line) for line in lines]
|