Mercurial > repos > jpayne > bioproject_to_srr_2
comparison urllib3/util/util.py @ 7:5eb2d5e3bf22
planemo upload for repository https://toolrepo.galaxytrakr.org/view/jpayne/bioproject_to_srr_2/556cac4fb538
author | jpayne |
---|---|
date | Sun, 05 May 2024 23:32:17 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
6:b2745907b1eb | 7:5eb2d5e3bf22 |
---|---|
1 from __future__ import annotations | |
2 | |
3 import typing | |
4 from types import TracebackType | |
5 | |
6 | |
7 def to_bytes( | |
8 x: str | bytes, encoding: str | None = None, errors: str | None = None | |
9 ) -> bytes: | |
10 if isinstance(x, bytes): | |
11 return x | |
12 elif not isinstance(x, str): | |
13 raise TypeError(f"not expecting type {type(x).__name__}") | |
14 if encoding or errors: | |
15 return x.encode(encoding or "utf-8", errors=errors or "strict") | |
16 return x.encode() | |
17 | |
18 | |
19 def to_str( | |
20 x: str | bytes, encoding: str | None = None, errors: str | None = None | |
21 ) -> str: | |
22 if isinstance(x, str): | |
23 return x | |
24 elif not isinstance(x, bytes): | |
25 raise TypeError(f"not expecting type {type(x).__name__}") | |
26 if encoding or errors: | |
27 return x.decode(encoding or "utf-8", errors=errors or "strict") | |
28 return x.decode() | |
29 | |
30 | |
31 def reraise( | |
32 tp: type[BaseException] | None, | |
33 value: BaseException, | |
34 tb: TracebackType | None = None, | |
35 ) -> typing.NoReturn: | |
36 try: | |
37 if value.__traceback__ is not tb: | |
38 raise value.with_traceback(tb) | |
39 raise value | |
40 finally: | |
41 value = None # type: ignore[assignment] | |
42 tb = None |