classification
Title: Out of date code example for tkinter's createfilehandler
Type: behavior Stage: resolved
Components: Documentation, Tkinter Versions: Python 3.5, Python 3.4, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: docs@python, martin.panter, python-dev, serhiy.storchaka, terry.reedy
Priority: normal Keywords: patch

Created on 2014-08-06 10:18 by martin.panter, last changed 2015-05-18 00:07 by martin.panter. This issue is now closed.

Files
File name Uploaded Description Edit
file-handlers.patch martin.panter, 2015-05-17 07:23 review
Messages (10)
msg224922 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2014-08-06 10:18
The only documentation on “createfilehandle” and friends that I can find looks like it needs updating:

https://docs.python.org/release/3.4.0/faq/gui.html#can-i-have-tk-events-handled-while-waiting-for-i-o

I have been using the equivalent of this instead, for both Python 2 and 3:

import tkinter
widget = tkinter.Tk()
widget.tk.createfilehandler(file, tkinter.READABLE | tkinter.WRITABLE, callback)
...
widget.tk.deletefilehandler(file)

However I have no idea if this is a supported, proper way, if one even still exists. The old way was removed by Issue 3638.

BTW, there is a link to release/3.4.1 documentation but that returned a 404 error for me, so I linked to the 3.4.0 doc instead.
msg225085 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-08-08 20:44
The latest x.y docs are available at docs.python.org/x.y, such as
https://docs.python.org/3.4/faq/gui.html

I was not aware of this undocumented method of the undocumented tkapp class.  It is not available on Windows, and the FAQ should say so. From Modules/_tkinter.c:

 /* Tcl_CreateFileHandler() changed several times; these macros deal with the  messiness.  In Tcl 8.0 and later, it is not available on Windows (and on  Unix, only because Jack added it back); when available on Windows, it only applies to sockets. */

Current _tkinter only supports 8.4+. The messiness still appears in the asyncio design.

'createfile' does not appear on the pydoc page for tkinter; directly using createfilehandle seems to be the only access.
msg225094 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2014-08-09 01:15
Just about the broken docs link: I was trying to find a permanent version of the docs to link to. The usual docs page links to “Old versions” <https://www.python.org/doc/versions/>, but top link there, 3.4.1, does not seem to be available.
msg243387 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2015-05-17 07:23
Here is a patch which moves the documentation from the FAQ into a new section at the bottom of the main “tkinter” reference manual page, and updates it. I also mentioned lack of Windows support. Let me know what you think!
msg243410 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015-05-17 15:58
Assuming that the details are correct, which I cannot check on Windows :-(, this looks good to me. If the tkinter doc is expanded and reorganized, that section might move but I cannot see a better place for it now. Martin, have you used that code (with Tkinter/tkinter) on both 2.7 and 3.x?  Serhiy, if you want me to apply this, after you check it, I will.
msg243414 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-05-17 16:43
I'm not sure that this is right place to document these functions (they are methods of undocumented class), but the patch looks correct to me.

If you will commit the patch, Terry, note that tkinter should be replaced with Tkinter in 2.7.
msg243422 - (view) Author: Roundup Robot (python-dev) Date: 2015-05-17 18:50
New changeset e8dd65c7fb6b by Terry Jan Reedy in branch '2.7':
Issue #22155: Add File Handlers subsection with createfilehandler to Tkinter
https://hg.python.org/cpython/rev/e8dd65c7fb6b

New changeset 1efcb7b6ec8a by Terry Jan Reedy in branch '3.4':
Issue #22155: Add File Handlers subsection with createfilehandler to tkinter
https://hg.python.org/cpython/rev/1efcb7b6ec8a
msg243423 - (view) Author: Roundup Robot (python-dev) Date: 2015-05-17 18:56
New changeset 8bd9da5635fe by Terry Jan Reedy in branch '3.4':
Issue #22155: News entry.
https://hg.python.org/cpython/rev/8bd9da5635fe

New changeset 850cbd54cc73 by Terry Jan Reedy in branch 'default':
Issue #22155: News entry.
https://hg.python.org/cpython/rev/850cbd54cc73
msg243424 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015-05-17 18:59
Martin, thanks for the nice patch.
msg243437 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2015-05-18 00:07
For the record, I have used this code in 2.7 in the past (though I mainly use Python 3). The Python 2 version of the changes look fine to me.
History
Date User Action Args
2015-05-18 00:07:17martin.pantersetmessages: + msg243437
2015-05-17 18:59:52terry.reedysetstatus: open -> closed
type: behavior
messages: + msg243424

assignee: docs@python -> terry.reedy
resolution: fixed
stage: patch review -> resolved
2015-05-17 18:56:34python-devsetmessages: + msg243423
2015-05-17 18:50:24python-devsetnosy: + python-dev
messages: + msg243422
2015-05-17 16:43:24serhiy.storchakasetmessages: + msg243414
2015-05-17 15:58:53terry.reedysetmessages: + msg243410
2015-05-17 07:23:16martin.pantersetfiles: + file-handlers.patch
keywords: + patch
messages: + msg243387

stage: needs patch -> patch review
2014-08-09 01:15:57martin.pantersetmessages: + msg225094
2014-08-08 20:44:58terry.reedysetnosy: + terry.reedy, serhiy.storchaka
messages: + msg225085
2014-08-06 12:09:12serhiy.storchakasetstage: needs patch
versions: + Python 2.7
2014-08-06 10:20:34martin.pantersettitle: Out of date code example for tkinter's createfilehandle -> Out of date code example for tkinter's createfilehandler
2014-08-06 10:18:37martin.pantercreate