MCPcopy Create free account
hub / github.com/kubernetes-client/python / readline_channel

Method readline_channel

kubernetes/base/stream/ws_client.py:104–130  ·  view source on GitHub ↗

Read a line from a channel.

(self, channel, timeout=None)

Source from the content-addressed store, hash-verified

102 return ret
103
104 def readline_channel(self, channel, timeout=None):
105 """Read a line from a channel."""
106 if timeout is None:
107 timeout = float("inf")
108 start = time.time()
109 while self.is_open() and time.time() - start < timeout:
110 # Always try to drain the channel first
111 if channel in self._channels:
112 data = self._channels[channel]
113 if self.newline in data:
114 index = data.find(self.newline)
115 ret = data[:index]
116 data = data[index+1:]
117 if data:
118 self._channels[channel] = data
119 else:
120 del self._channels[channel]
121 return ret
122
123 if channel in self._closed_channels:
124 if channel in self._channels:
125 ret = self._channels[channel]
126 del self._channels[channel]
127 return ret
128 return b"" if self.binary else ""
129
130 self.update(timeout=(timeout - time.time() + start))
131
132 def write_channel(self, channel, data):
133 """Write data to a channel."""

Calls 3

is_openMethod · 0.95
updateMethod · 0.95
timeMethod · 0.45