ParthJadhav / Tkinter-Designer

An easy and fast way to create a Python GUI 🐍
BSD 3-Clause "New" or "Revised" License
9.04k stars 829 forks source link

tkinter throwing Frame Not Found for figma design that has frame #333

Closed natsukashiixo closed 1 year ago

natsukashiixo commented 1 year ago

python version: 3.11.1 os: windows 10 from terminal: `Creating Element { name: button, type: group } Creating Element { name: rectangle, type: rectangle } Creating Element { name: rectangle, type: rectangle } Creating Element { name: textarea, type: rectangle } Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\designer.py", line 21, in to_code frame = Frame(f, self.figma_file, self.output_path, self.frameCounter) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\figma\frame.py", line 29, in init self.elements = [ ^ File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\figma\frame.py", line 30, in self.create_element(child) File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\figma\frame.py", line 65, in create_element download_image(image_url, image_path) File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\utils.py", line 20, in download_image response = requests.get(url) ^^^^^^^^^^^^^^^^^ File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\api.py", line 76, in get return request('get', url, params=params, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\api.py", line 61, in request return session.request(method=method, url=url, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\sessions.py", line 528, in request prep = self.prepare_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\sessions.py", line 456, in prepare_request p.prepare( File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\models.py", line 316, in prepare self.prepare_url(url, params) File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\models.py", line 390, in prepare_url raise MissingSchema(error) requests.exceptions.MissingSchema: Invalid URL 'None': No schema supplied. Perhaps you meant http://None?

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\jera500\AppData\Local\Programs\Python\Python311\Lib\tkinter__init.py", line 1948, in call__ return self.func(*args) ^^^^^^^^^^^^^^^^ File "C:\Users\jera500\Documents\Tkinter-Designer\gui\gui.py", line 72, in btn_clicked designer.design() File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\designer.py", line 32, in design code = self.to_code() ^^^^^^^^^^^^^^ File "C:\Users\jera500\Documents\Tkinter-Designer\tkdesigner\designer.py", line 23, in to_code raise Exception("Frame not found in figma file or is empty") Exception: Frame not found in figma file or is empty`

figma design in question: https://www.figma.com/file/vACgPXKDJCkgfeqcO2zUbf/Untitled?type=design&node-id=1%3A2&t=hTYQlEAcrWdOZ7Ea-1

Everything seems up to spec, Figma also reports that the calls to the Token are valid seeing as the "last used" get properly updated after each attempt. I have tried restarting gui.py a few times and cloning the design into a new file and generating from that as well. I have successfully generated a simpler layout before and I've double checked to make sure re-generating the simpler design still works. Hopefully someone who knows how the module works can see what the issue is in the error log.

aellas commented 1 year ago

Please see https://github.com/ParthJadhav/Tkinter-Designer/issues/341 for the fix :)