robertlugg / easygui

easygui for Python
http://easygui.readthedocs.org/en/master/
BSD 3-Clause "New" or "Revised" License
458 stars 115 forks source link

Modernizing EasyGUI's documentation and verifying it works with Python 3.5 to 3.9. #179

Closed asweigart closed 3 years ago

asweigart commented 3 years ago

I've made several documentation updates, a few bug fixes, and verified EasyGUI still works with modern Python versions. I haven't made any backwards-incompatible changes. I've also added a couple of basic unit tests as well.

jjdenis commented 3 years ago

¡¡¡Great!!!

El 20 ene 2021, a las 5:00, Al Sweigart notifications@github.com escribió:

 I've made several documentation updates, a few bug fixes, and verified EasyGUI still works with modern Python versions. I haven't made any backwards-incompatible changes. I've also added a couple of basic unit tests as well.

You can view, comment on, or merge this pull request online at:

https://github.com/robertlugg/easygui/pull/179

Commit Summary

Changing all occurrences of "EasyGui" to "EasyGUI" as it was written in the original Stephen Ferg version. Adding a main.py file so that running python -m easygui will run the demo. Refactored the code and documentation for boolbox(), and changed the default buttons from Yes/No to True/False, since ynbox() already has Yes/No default buttons. Specifying less than two choices for choicebox() or multchoicebox() raises a ValueError instead of displaying the cryptic "Add more items" text to the displayed list. Getting rid of the mutable blank lists as default arguments (even though later code prevents bugs) and adding ['Choice 1', 'Choice 2'] defaults. This commit also removes trailing whitespace. The choices in choice boxes are no longer sorted alphabetically (nor should they be), so we can remove this code. Major documentation updates in formatting and general copy editing. Updating the docstrings for various functions, correcting small mistakes and filling in details. Migrating to pytest revealed some deprecation warnings: the * in the docstrings for fileopenbox() and filesavebox() should be escaped since * is not a valid escape sequence. Also, the regex string in button_box.py was not a raw string. Make textbox(), choicebox(), buttonbox(), and mult boxes (and every dialog box based on them) in focus when they appear. This is only a half fix; there seem to be some cases where the dialog box isn't put in focus. I'll file an issue about the "topmost" attribute and how it fails mysteriously. Adding a pytest unit test, which uses pynput to send key presses to the dialog boxes. This initial test file tests msgbox() and buttonbox(). More tests should follow. Calls to re.search() in utils.py were not using raw strings, causing a Deprecation Warning. Giving a longer pause to the unit tests, since they sometimes fail with only a 0.2 second pause. Updating readme with Linux tkinter install instructions. Bumping version number to 0.98.2 after verifying that EasyGUI still runs on Python 3.5, 3.6, 3.7, 3.8, and 3.9. Hooray! File Changes

M README.md (3) A easygui/main.py (2) M easygui/boxes/about.py (2) M easygui/boxes/button_box.py (7) M easygui/boxes/choice_box.py (62) M easygui/boxes/derived_boxes.py (136) M easygui/boxes/diropen_box.py (3) M easygui/boxes/fileopen_box.py (21) M easygui/boxes/filesave_box.py (21) M easygui/boxes/fillable_box.py (2) M easygui/boxes/multi_fillable_box.py (1) M easygui/boxes/text_box.py (6) M easygui/boxes/utils.py (15) M easygui/easygui.py (14) M setup.py (10) M sphinx/_static/tutorial/screenshot_multchoicebox.png (0) M sphinx/cookbook.rst (93) M sphinx/faq.rst (30) M sphinx/index.rst (29) M sphinx/links.rst (12) M sphinx/support.rst (18) M sphinx/tutorial.rst (355) A test_cases/test_easygui.py (124) Patch Links:

https://github.com/robertlugg/easygui/pull/179.patch https://github.com/robertlugg/easygui/pull/179.diff — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.