Commit 0ec26ceb authored by Benjamin Peterson's avatar Benjamin Peterson

Merged revisions 77222 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77222 | benjamin.peterson | 2010-01-01 20:43:04 -0600 (Fri, 01 Jan 2010) | 1 line

  remove use of deprecated os.popen #7619
........
parent 7818b338
...@@ -22,7 +22,7 @@ Public functions: Internaldate2tuple ...@@ -22,7 +22,7 @@ Public functions: Internaldate2tuple
__version__ = "2.58" __version__ = "2.58"
import binascii, os, random, re, socket, sys, time import binascii, random, re, socket, subprocess, sys, time
__all__ = ["IMAP4", "IMAP4_stream", "Internaldate2tuple", __all__ = ["IMAP4", "IMAP4_stream", "Internaldate2tuple",
"Int2AP", "ParseFlags", "Time2Internaldate"] "Int2AP", "ParseFlags", "Time2Internaldate"]
...@@ -1212,7 +1212,7 @@ class IMAP4_stream(IMAP4): ...@@ -1212,7 +1212,7 @@ class IMAP4_stream(IMAP4):
Instantiate with: IMAP4_stream(command) Instantiate with: IMAP4_stream(command)
where "command" is a string that can be passed to os.popen2() where "command" is a string that can be passed to Subprocess.Popen()
for more documentation see the docstring of the parent class IMAP4. for more documentation see the docstring of the parent class IMAP4.
""" """
...@@ -1232,7 +1232,11 @@ class IMAP4_stream(IMAP4): ...@@ -1232,7 +1232,11 @@ class IMAP4_stream(IMAP4):
self.port = None self.port = None
self.sock = None self.sock = None
self.file = None self.file = None
self.writefile, self.readfile = os.popen2(self.command) self.process = subprocess.Popen(self.command,
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
shell=True, close_fds=True)
self.writefile = self.process.stdin
self.readfile = self.process.stdout
def read(self, size): def read(self, size):
...@@ -1255,6 +1259,7 @@ class IMAP4_stream(IMAP4): ...@@ -1255,6 +1259,7 @@ class IMAP4_stream(IMAP4):
"""Close I/O established in "open".""" """Close I/O established in "open"."""
self.readfile.close() self.readfile.close()
self.writefile.close() self.writefile.close()
self.process.wait()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment