Victor Stinner | 71080fc | 2015-07-25 02:23:21 +0200 | [diff] [blame] | 1 | """Compatibility helpers for the different Python versions.""" |
| 2 | |
| 3 | import sys |
| 4 | |
| 5 | PY34 = sys.version_info >= (3, 4) |
| 6 | PY35 = sys.version_info >= (3, 5) |
Yury Selivanov | a6f6edb | 2016-06-09 15:08:31 -0400 | [diff] [blame] | 7 | PY352 = sys.version_info >= (3, 5, 2) |
Victor Stinner | 71080fc | 2015-07-25 02:23:21 +0200 | [diff] [blame] | 8 | |
| 9 | |
| 10 | def flatten_list_bytes(list_of_data): |
| 11 | """Concatenate a sequence of bytes-like objects.""" |
| 12 | if not PY34: |
| 13 | # On Python 3.3 and older, bytes.join() doesn't handle |
| 14 | # memoryview. |
| 15 | list_of_data = ( |
| 16 | bytes(data) if isinstance(data, memoryview) else data |
| 17 | for data in list_of_data) |
| 18 | return b''.join(list_of_data) |