homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: IDLE: Revise ModuleBrowser API
Type: behavior Stage: resolved
Components: IDLE Versions: Python 3.7, Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: cheryl.sabella, terry.reedy
Priority: normal Keywords: patch

Created on 2017年09月13日 21:33 by terry.reedy, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 3842 merged terry.reedy, 2017年09月30日 23:21
PR 3843 merged terry.reedy, 2017年09月30日 23:56
Messages (5)
msg302119 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017年09月13日 21:33
The signature of browser.ClassBrowser(to be renamed ModuleBrowser).__init__ is
def __init__(self, flist, name, path, _htest=False, _utest=False)
flist is only used to access the application root. Change it to master. Then text can directly pass the test root.
name and path are the split apart pieces of the module path, minus '.py', which are promptly rejoined, with '.py'. Callers always start valid path and have to split it and delete '.py' for the call. Let them pass the full path. A side-effect is that the browser will not work with a file without '.py'.
ModuleBrowser can them split off the filename and remove a '.p?' extension, if present.
The patch will have to change both .__init__ and callers, and ideally should somehow test that everything works.
msg302806 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017年09月23日 21:21
I meant .py?, as in .py, .pyw, .pyo, not .p?
msg303417 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017年09月30日 17:40
Menu item 'Module Browser' invokes '<<open-class-browser>>', which calls Editor_Window.open_module_browser. If the window is an actual editor, its path is used; otherwise open_module is called. In either case, ModuleBrowser is called with flist and path pieces.
PathBrowser subclasses ModuleBrowser. Menu item 'Path Browser' invokes '<<open-path-browser>>', which calls Editor_Window.open_path_browser, which calles PathBrowser. PathBrowser.__init__'s only parameter is flist and it does not call ModuleBrowser.__init__. So the APIs are independent and can be modified or not separately. 
For ModuleBrowser, changing flist to master and changing (name, path) to to filepath can be done independently.
msg303436 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017年09月30日 23:54
New changeset d6bb65f378e34fe0c11fdb39588357ecf22964eb by Terry Jan Reedy in branch 'master':
bpo-31460: Simplify the API of IDLE's Module Browser. (#3842)
https://github.com/python/cpython/commit/d6bb65f378e34fe0c11fdb39588357ecf22964eb
msg303438 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017年10月01日 00:32
New changeset c8198c92320bc35b1e3de5ff0118bd8e20e8d68a by Terry Jan Reedy in branch '3.6':
[3.6] bpo-31460: Simplify the API of IDLE's Module Browser. (GH-3842) (#3843)
https://github.com/python/cpython/commit/c8198c92320bc35b1e3de5ff0118bd8e20e8d68a
History
Date User Action Args
2022年04月11日 14:58:52adminsetgithub: 75641
2017年10月01日 01:24:34terry.reedysetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2017年10月01日 00:32:31terry.reedysetmessages: + msg303438
2017年09月30日 23:56:32terry.reedysetpull_requests: + pull_request3824
2017年09月30日 23:54:30terry.reedysetmessages: + msg303436
2017年09月30日 23:21:23terry.reedysetkeywords: + patch
stage: test needed -> patch review
pull_requests: + pull_request3823
2017年09月30日 17:40:50terry.reedysetmessages: + msg303417
2017年09月23日 21:21:53terry.reedysetnosy: + cheryl.sabella
messages: + msg302806
2017年09月13日 22:03:45terry.reedylinkissue31461 dependencies
2017年09月13日 21:33:39terry.reedycreate

AltStyle によって変換されたページ (->オリジナル) /