[Patches] [ python-Patches-608182 ] Enhanced file constructor
SourceForge.net
noreply@sourceforge.net
Fri, 31 Jan 2003 12:12:32 -0800
Patches item #608182, was opened at 2002-09-11 22:45
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=608182&group_id=5470
Category: Core (C code)
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Taral (taral)
Assigned to: Nobody/Anonymous (nobody)
Summary: Enhanced file constructor
Initial Comment:
This patch allows the file constructor to take a file
descriptor, allowing for much easier extension of its
functionality.
----------------------------------------------------------------------
>Comment By: Taral (taral)
Date: 2003-01-31 14:12
Message:
Logged In: YES
user_id=25129
Didn't make it into 2.3alpha?
----------------------------------------------------------------------
Comment By: Taral (taral)
Date: 2002-09-12 13:39
Message:
Logged In: YES
user_id=25129
class some_class(file):
def __init__(self, arg):
fd = do_some_os_stuff_with_forks_and_pipes_or_sockets
return file.__init__(self, fd, 'r')
def close(self):
do_some_cleanup_stuff
return file.close(self)
and so on.
----------------------------------------------------------------------
Comment By: Martin v. Löwis (loewis)
Date: 2002-09-12 01:59
Message:
Logged In: YES
user_id=21627
What's wrong with os.fdopen? Why is
f = file(10, "r")
much easier than
f = os.fdopen(10, "r")
----------------------------------------------------------------------
Comment By: Taral (taral)
Date: 2002-09-12 00:31
Message:
Logged In: YES
user_id=25129
Okay, fixed it all. Passes 'make test' on linux/x86 with
default configure (does not test dbm/gdbm/mpz/bsddb).
(btw, old versions can be deleted)
----------------------------------------------------------------------
Comment By: Neal Norwitz (nnorwitz)
Date: 2002-09-11 23:10
Message:
Logged In: YES
user_id=33168
fp's and fd's are not interchangable. The variable should
be called fd, since it's an int. fill_file_fields() 2nd arg
is a FILE*, not an int. So you would need to do file =
fdopen(fd, mode), then pass file as the 2nd arg. In order
for this patch to be accepted, a test would also need to be
added (see Lib/test/test_file.py) and doc should be updated
(see Doc/lib/libfuncs.tex).
----------------------------------------------------------------------
Comment By: Taral (taral)
Date: 2002-09-11 22:47
Message:
Logged In: YES
user_id=25129
Bah, forgot the variable.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=608182&group_id=5470