Subject: cur.execute() syntax error

From: Rich Shepard <[email-masked]>
Date: Mon, 4 Apr 2022 15:02:40 -0700 (PDT)

This MWE (test_combobox.py) produces a syntax error and I'm not seeing why:
-----
import tkinter as tk
from tkinter import ttk

import psycopg2

class ContactDataForm(tk.Frame):
     # set up postgres
     # the connection
     con = psycopg2.connect(database='bustrac')
     # the cursor
     cur = con.cursor()

     def __init__(self, parent, *args, **kwargs):
         super().__init__(parent, *args, **kwargs)
         # A dict to keep track of input widgets
         self.inputs = {}

         self.inputs['Contact Type'] = LabelInput(
             ContactDataForm, 'contact_type',
             # query to fetch data from contacttypes table
             fetch_all = "SELECT * from contacttypes"
             cur.execute(fetch_all)
             # fetching all rows
             rows = cur.fetchall()
             input_class=ttk.Combobox([values = rows])
             input_var=tk.StringVar()
             # get selected value and bind it to a method
             cont_type = self.get() # selected value by mouse click
             con.close()
             )
         self.inputs['Contact Type'].grid(row0, column1)
         ContactDataForm.grid(row=0, column=0, sticky='we')
-----

When run from the shell:
$ python test_combobox.py
   File "test_combobox.py", line 24
     cur.execute(fetch_all)
       ^
SyntaxError: invalid syntax

Here python is python3 by default.

What am I not seeing?

Rich

---

From: Christophe Pettus <[email-masked]>
Date: Mon, 4 Apr 2022 15:07:41 -0700

It looks like the LabelInput constructor includes some code.  Did you mean something like:

           ContactDataForm, 'contact_type',)

> On Apr 4, 2022, at 15:02, Rich Shepard <[email-masked]> wrote:
>

---

From: Rich Shepard <[email-masked]>
Date: Mon, 4 Apr 2022 15:18:07 -0700 (PDT)

>       cont_type = self.get() # selected value by mouse click

Christophe,

Sure looks like it.

Thanks,

Rich