[Bug] Broken Linux symlink crashes Demo_Tree_Element.py
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 48/100
Research direction
Start with Demo_Tree_Element.py, especially line 36 where os.stat(fullname) is used while inserting files into the tree. Reproduce the issue using a directory containing a broken symbolic link; done means the demo no longer crashes and the affected entry is handled visibly in the tree.
Written by the indexing model from the issue text.
Description
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
add_files_in_folder('', starting_path)
File "Demo_Tree_Element.py", line 34, in add_files_in_folder
add_files_in_folder(fullname, fullname)
File "Demo_Tree_Element.py", line 34, in add_files_in_folder
add_files_in_folder(fullname, fullname)
File "Demo_Tree_Element.py", line 36, in add_files_in_folder
treedata.Insert(parent, fullname, f, values=[os.stat(fullname).st_size], icon=file_icon)
FileNotFoundError: [Errno 2] No such file or directory: '/home/ran/projects/net_tools/samplicator-master/depcomp'
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
add_files_in_folder('', starting_path)
File "Demo_Tree_Element.py", line 34, in add_files_in_folder
add_files_in_folder(fullname, fullname)
File "Demo_Tree_Element.py", line 34, in add_files_in_folder
add_files_in_folder(fullname, fullname)
File "Demo_Tree_Element.py", line 36, in add_files_in_folder
treedata.Insert(parent, fullname, f, values=[os.stat(fullname).st_size], icon=file_icon)
FileNotFoundError: [Errno 2] No such file or directory: '/home/ran/projects/net_tools/samplicator-master/depcomp'
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.
- Dominant language
- Python
- Stars
- 13.8k
- Forks
- 1.8k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PySimpleGUI/PySimpleGUI
-
Bug Done - Install Dev Build (see docs for how) Platform Specific Issue - Linux Port - TK
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PySimpleGUI/PySimpleGUI#6904 · 15 comments ·
-
Bug Demo Programs Done - Install Dev Build (see docs for how) Interoperability Port - TK workaround available
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PySimpleGUI/PySimpleGUI#6900 · 1 comment ·
-
Done - Install Dev Build (see docs for how) enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
PySimpleGUI/PySimpleGUI#3251 · 12 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
PySimpleGUI/PySimpleGUI#6906 · 1 comment · 1 reaction ·
-
Bug Done - Install Dev Build (see docs for how) Port - TK
Difficulty 3/5 1-2 days Newbie friendliness 45/100
PySimpleGUI/PySimpleGUI#6902 · 1 comment ·
All issues in PySimpleGUI/PySimpleGUI
Similar issues
-
essnmx good first issue
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
[Feature] 奇物选择添加优先级 Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
syfoud/Simulated_Scepter#174 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Giskard-AI/giskard-oss#2840 · 1 comment ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Openarea: repo bug perceived difficulty: 2
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
yeti-platform/yeti#1380 ·