[Bug] Broken Linux symlink crashes Demo_Tree_Element.py
Type of Issue (Enhancement, Error, Bug, Question)
[Bug] Broken Linux symlink crashes Demo_Tree_Element.py
When running the program against a directory tree that contains a broken file symbolic link, it crashes with a "file not found" error. Python throws an exception that isn't handled:
Traceback (most recent call last):
File "Demo_Tree_Element.py", line 38, in
This was obvious when I ran it from the command line, but from the Demo Browser it just silently disappeared
Operating System
Ubuntu 20.04
PySimpleGUI Port (tkinter, Qt, Wx, Web)
print(sg) <module 'PySimpleGUI' from '/usr/local/lib/python3.8/dist-packages/PySimpleGUI/init.py'> (sg.version) '4.60.5 Released 21-May-2023'
Versions
*** Version information copied to your clipboard. Paste into your GitHub Issue. ***
Python version: 3.8.10 (default, May 26 2023, 14:05:08) [GCC 9.4.0] port: tkinter tkinter version: 8.6.10 PySimpleGUI version: 4.60.5 PySimpleGUI filename: /usr/local/lib/python3.8/dist-packages/PySimpleGUI/PySimpleGUI.py
Version information can be obtained by calling sg.main_get_debug_data()
Or you can print each version shown in ()
Python version (sg.sys.version)
'3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]'
PySimpleGUI Version (sg.__version__)
'4.60.5'
GUI Version (tkinter (sg.tclversion_detailed), PySide2, WxPython, Remi)
tkinter
Your Experience In Months or Years (optional)
Years Python programming experience 2
Years Programming experience overall 54
Have used another Python GUI Framework? (tkinter, Qt, etc) (yes/no is fine)
Anything else you think would be helpful?
Troubleshooting
These items may solve your problem. Please check those you've done by changing - [ ] to - [X]
- [ ] Searched main docs for your problem www.PySimpleGUI.org
- [ ] Looked for Demo Programs that are similar to your goal. It is recommend you use the Demo Browser! Demos.PySimpleGUI.org
- [ ] None of your GUI code was generated by an AI algorithm like GPT
- [ ] If not tkinter - looked for Demo Programs for specific port
- [ ] For non tkinter - Looked at readme for your specific port if not PySimpleGUI (Qt, WX, Remi)
- [ ] Run your program outside of your debugger (from a command line)
- [ ] Searched through Issues (open and closed) to see if already reported Issues.PySimpleGUI.org
- [ ] Have upgraded to the latest release of PySimpleGUI on PyPI (lastest official version)
- [ ] Tried using the PySimpleGUI.py file on GitHub. Your problem may have already been fixed but not released
Detailed Description
When running the program against a directory tree that contains a broken file symbolic link, it crashes with a "file not found" error. Python throws an exception that isn't handled:
Traceback (most recent call last):
File "Demo_Tree_Element.py", line 38, in
This was obvious when I ran it from the command line, but from the Demo Browser it just silently disappeared
Code To Duplicate
The Demo_Tree_Element.py file included with the package.
This pre-formatted code block is all set for you to paste in your bit of code:
# Paste your code here
To fix, replace line 36 with something like:
try:
treedata.Insert(parent, fullname, f, values=[os.stat(fullname).st_size], icon=file_icon)
except:
treedata.Insert(parent, fullname, f, values=["???? error"], icon=file_icon)
Screenshot, Sketch, or Drawing
Watcha Makin?
If you care to share something about your project, it would be awesome to hear what you're building.
A broken directory symlink would cause a different failure,. but, given the rarity of the cause and the hassle of submitting a report, I'm not going to investigate it and suggest a fix.
Demo Programs are meant to be a starting point.... a push-start with an emphasis on how to use the PySimpleGUI API calls. They're not meant to be highly robust with a lot of error detection. That would get in the way of the simplicity of showing how things work.
Thank you for taking the time to flag the problem.