happi.backends.qs_db.QSBackend

class happi.backends.qs_db.QSBackend(run_no, proposal, **kwargs)

Questionniare Backend

This backend connects to the LCLS questionnaire and looks at devices with the key pattern pcds--setup--*. These fields are then combined and turned into proper happi devices. The translation of table name to pcdsdevices class is determined by the device_translations dictionary. The beamline is determined by looking where the proposal was submitted.

Unlike the other backends, this one is read-only. All changes to the device information should be done via the web interface. Finally, in order to avoid duplicating any code needed to search the device database, the QSBackend inherits directly from JSONBackend. Many of the functions are unmodified with exception being that this backend merely searchs through an in memory dictionary while the JSONBackend reads from the file before searches.

Parameters:
  • run_no (int) – Desired run number i.e 16
  • proposal (str) – Proposal identifier i.e “LR32”
__init__(run_no, proposal, **kwargs)

Methods

__init__(run_no, proposal, **kwargs)
delete(_id) The current implementation of this backend is read-only
find([_id, multiples]) Find an instance or instances that matches the search criteria
initialize() Can not initialize a new Questionnaire entry from API
load() Return the structured dictionary of information
save(*args, **kwargs) The current implementation of this backend is read-only
store(*args, **kwargs) The current implementation of this backend is read-only