'recvline_startswith(delims, keepends = False, timeout = default) -> str
Keep receiving lines until one is found that starts with one of
`delims`.  Returns the last line received.
If the request is not satisfied before ``timeout`` seconds pass,
all data is buffered and an empty string (``\'\'``) is returned.
Arguments:
delims(str,tuple): List of strings to search for, or string of single characters
keepends(bool): Return lines with newlines if :const:`True`
timeout(int): Timeout, in seconds
Returns:
The first line received which starts with a delimiter in ``delims``.
Examples:
>>> t = tube()
>>> t.recv_raw = lambda n: "Hello\nWorld\nXylophone\n"
>>> t.recvline_startswith(tuple(\'WXYZ\'))
\'World\'
>>> t.recvline_startswith(tuple(\'WXYZ\'), True)
\'Xylophone\n\'
>>> t.recvline_startswith(\'Wo\')
\'World\''

def recvline_startswith(self, delims, keepends=False, timeout=default):

    if isinstance(delims, (str, unicode)):
        delims = (delims,)
    return self.recvline_pred((lambda line: any(map(line.startswith, delims))), keepends=keepends, timeout=timeout)
