Write data, where s is a str
(self, s)
| 2209 | return self.buffer.isatty() |
| 2210 | |
| 2211 | def write(self, s): |
| 2212 | 'Write data, where s is a str' |
| 2213 | if self.closed: |
| 2214 | raise ValueError("write to closed file") |
| 2215 | if not isinstance(s, str): |
| 2216 | raise TypeError("can't write %s to text stream" % |
| 2217 | s.__class__.__name__) |
| 2218 | length = len(s) |
| 2219 | haslf = (self._writetranslate or self._line_buffering) and "\n" in s |
| 2220 | if haslf and self._writetranslate and self._writenl != "\n": |
| 2221 | s = s.replace("\n", self._writenl) |
| 2222 | encoder = self._encoder or self._get_encoder() |
| 2223 | # XXX What if we were just reading? |
| 2224 | b = encoder.encode(s) |
| 2225 | self.buffer.write(b) |
| 2226 | if self._line_buffering and (haslf or "\r" in s): |
| 2227 | self.flush() |
| 2228 | if self._snapshot is not None: |
| 2229 | self._set_decoded_chars('') |
| 2230 | self._snapshot = None |
| 2231 | if self._decoder: |
| 2232 | self._decoder.reset() |
| 2233 | return length |
| 2234 | |
| 2235 | def _get_encoder(self): |
| 2236 | make_encoder = codecs.getincrementalencoder(self._encoding) |
nothing calls this directly
no test coverage detected