| 359 | |
| 360 | |
| 361 | def _text_encoding(): |
| 362 | # Return default text encoding and emit EncodingWarning if |
| 363 | # sys.flags.warn_default_encoding is true. |
| 364 | if sys.flags.warn_default_encoding: |
| 365 | f = sys._getframe() |
| 366 | filename = f.f_code.co_filename |
| 367 | stacklevel = 2 |
| 368 | while f := f.f_back: |
| 369 | if f.f_code.co_filename != filename: |
| 370 | break |
| 371 | stacklevel += 1 |
| 372 | warnings.warn("'encoding' argument not specified.", |
| 373 | EncodingWarning, stacklevel) |
| 374 | |
| 375 | if sys.flags.utf8_mode: |
| 376 | return "utf-8" |
| 377 | else: |
| 378 | return locale.getencoding() |
| 379 | |
| 380 | |
| 381 | def call(*popenargs, timeout=None, **kwargs): |