Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: third_party/google-endpoints/urllib3/packages/backports/makefile.py

Issue 2666783008: Add google-endpoints to third_party/. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # -*- coding: utf-8 -*-
2 """
3 backports.makefile
4 ~~~~~~~~~~~~~~~~~~
5
6 Backports the Python 3 ``socket.makefile`` method for use with anything that
7 wants to create a "fake" socket object.
8 """
9 import io
10
11 from socket import SocketIO
12
13
14 def backport_makefile(self, mode="r", buffering=None, encoding=None,
15 errors=None, newline=None):
16 """
17 Backport of ``socket.makefile`` from Python 3.5.
18 """
19 if not set(mode) <= set(["r", "w", "b"]):
20 raise ValueError(
21 "invalid mode %r (only r, w, b allowed)" % (mode,)
22 )
23 writing = "w" in mode
24 reading = "r" in mode or not writing
25 assert reading or writing
26 binary = "b" in mode
27 rawmode = ""
28 if reading:
29 rawmode += "r"
30 if writing:
31 rawmode += "w"
32 raw = SocketIO(self, rawmode)
33 self._makefile_refs += 1
34 if buffering is None:
35 buffering = -1
36 if buffering < 0:
37 buffering = io.DEFAULT_BUFFER_SIZE
38 if buffering == 0:
39 if not binary:
40 raise ValueError("unbuffered streams must be binary")
41 return raw
42 if reading and writing:
43 buffer = io.BufferedRWPair(raw, raw, buffering)
44 elif reading:
45 buffer = io.BufferedReader(raw, buffering)
46 else:
47 assert writing
48 buffer = io.BufferedWriter(raw, buffering)
49 if binary:
50 return buffer
51 text = io.TextIOWrapper(buffer, encoding, errors, newline)
52 text.mode = mode
53 return text
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698