From: Tim Peters Date: Tue, 18 Sep 2001 05:40:24 +0000 (+0000) Subject: This module didn't work at all anymore -- blew up with AttributeError X-Git-Tag: v2.2.1c1~1756 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=22cd7681777139a6c2409ea73cbcaf27fc2e5950;p=thirdparty%2FPython%2Fcpython.git This module didn't work at all anymore -- blew up with AttributeError on file.__methods__. Since the docs say "This module will become obsolete in a future release", this is just a quick hack to stop it from blowing up. If you care about this module, test it! It doesn't make much sense on Windows. --- diff --git a/Lib/posixfile.py b/Lib/posixfile.py index 589510d55edd..dcd65cd69d08 100644 --- a/Lib/posixfile.py +++ b/Lib/posixfile.py @@ -75,12 +75,16 @@ class _posixfile_: return self.fileopen(__builtin__.open(name, mode, bufsize)) def fileopen(self, file): + import types if `type(file)` != "": raise TypeError, 'posixfile.fileopen() arg must be file object' self._file_ = file # Copy basic file methods - for method in file.__methods__: - setattr(self, method, getattr(file, method)) + for maybemethod in dir(file): + if not maybemethod.startswith('_'): + attr = getattr(file, maybemethod) + if isinstance(attr, types.BuiltinMethodType): + setattr(self, maybemethod, attr) return self #