def Query(cursor, sql, params=None):
  """Query against the Cursor.  Params will be formatted into the sql query string if present.

  Returns: list of dicts
  """
  # No parameters
  if not params:
    cursor.execute(sql)
  
  # Else, parameters need to be passed in too
  else:
    cursor.execute(sql, params)

  # Get the SQLite object rows
  object_rows = cursor.fetchall()

  # Convert the object rows into dicts for my preferred usage (requires setting connection:  conn.row_factory = sqlite3.Row)
  rows = []
  for row in object_rows:
    rows.append(dict(row))

  return rows