1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
 
   3 # SPDX-License-Identifier: MIT
 
   4 """Generic Connection class for Binho Nova to keep track of connection"""
 
  14         """Static access method."""
 
  15         if Connection.__instance is None:
 
  17         return Connection.__instance
 
  20         """Virtually private constructor."""
 
  21         if Connection.__instance is not None:
 
  22             raise Exception(  # pylint: disable=broad-exception-raised
 
  23                 "This class is a singleton!"
 
  26         # pylint: disable=import-outside-toplevel
 
  27         from binhoHostAdapter import binhoHostAdapter
 
  28         from binhoHostAdapter import binhoUtilities
 
  30         # pylint: enable=import-outside-toplevel
 
  31         devices = binhoUtilities.listAvailableDevices()
 
  34             Connection.__instance = binhoHostAdapter.binhoHostAdapter(devices[0])
 
  36             raise RuntimeError("No Binho Nova found!")