ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
enlighten.network.CloudManager.CloudManager Class Reference

Encapsulates access to AWS-backed cloud features. More...

Public Member Functions

 __init__ (self, ctl)
 
tuple[str, bool] attempt_download (self, str serial_number)
 
boto3.Session create_session (self)
 
 download_andor_eeprom (self, device)
 
 enable_callback (self)
 
bool enabled (self)
 
dict get_andor_eeprom (self, str detector_serial)
 If you have the proper credentials enabled, this does the equivalent of the following command-line:
 
 init_from_config (self)
 
 is_internet_available (self)
 This completes in a few milliseconds in my testing.
 
Optional[str] prompt_for_serial (self)
 
 restore_callback (self)
 
 save_config (self)
 
None setup_connection (self)
 

Public Attributes

 bt_restore = cfu.pushButton_restore_eeprom
 
 cb_enabled = cfu.checkBox_cloud_config_download_enabled
 
 ctl = ctl
 
boto3.Session dynamo_resource = None
 
boto3.Session eeprom_table = self.dynamo_resource.Table("WPSCReports")
 
 enable_callback
 
 restore_callback
 
 result_message = QMessageBox(self.bt_restore)
 
boto3.Session session = None
 

Static Public Attributes

str CONFIG_SECTION = "Cloud"
 

Detailed Description

Encapsulates access to AWS-backed cloud features.

All internet access is opt-in, so unless the user has manually checked the "Enable Cloud Access" options in Setup, all internet access will be blocked.

Todo
this whole class needs reviewed.

Constructor & Destructor Documentation

◆ __init__()

enlighten.network.CloudManager.CloudManager.__init__ ( self,
ctl )

Member Function Documentation

◆ attempt_download()

tuple[str, bool] enlighten.network.CloudManager.CloudManager.attempt_download ( self,
str serial_number )

◆ create_session()

boto3.Session enlighten.network.CloudManager.CloudManager.create_session ( self)

◆ download_andor_eeprom()

enlighten.network.CloudManager.CloudManager.download_andor_eeprom ( self,
device )

◆ enable_callback()

enlighten.network.CloudManager.CloudManager.enable_callback ( self)

◆ enabled()

bool enlighten.network.CloudManager.CloudManager.enabled ( self)

◆ get_andor_eeprom()

dict enlighten.network.CloudManager.CloudManager.get_andor_eeprom ( self,
str detector_serial )

If you have the proper credentials enabled, this does the equivalent of the following command-line:

$ aws dynamodb get-item –table-name andor_EEPROM –key '{ "detector_serial_number": { "S": "CCD-29849" } }'

◆ init_from_config()

enlighten.network.CloudManager.CloudManager.init_from_config ( self)

◆ is_internet_available()

enlighten.network.CloudManager.CloudManager.is_internet_available ( self)

This completes in a few milliseconds in my testing.

Host: 8.8.8.8 (google-public-dns-a.google.com) OpenPort: 53/tcp Service: domain (DNS/TCP)

See also
https://stackoverflow.com/a/33117579/11615696

◆ prompt_for_serial()

Optional[str] enlighten.network.CloudManager.CloudManager.prompt_for_serial ( self)

◆ restore_callback()

enlighten.network.CloudManager.CloudManager.restore_callback ( self)

◆ save_config()

enlighten.network.CloudManager.CloudManager.save_config ( self)

◆ setup_connection()

None enlighten.network.CloudManager.CloudManager.setup_connection ( self)

Member Data Documentation

◆ bt_restore

enlighten.network.CloudManager.CloudManager.bt_restore = cfu.pushButton_restore_eeprom

◆ cb_enabled

enlighten.network.CloudManager.CloudManager.cb_enabled = cfu.checkBox_cloud_config_download_enabled

◆ CONFIG_SECTION

enlighten.network.CloudManager.CloudManager.CONFIG_SECTION = "Cloud"
static

◆ ctl

enlighten.network.CloudManager.CloudManager.ctl = ctl

◆ dynamo_resource

boto3.Session enlighten.network.CloudManager.CloudManager.dynamo_resource = None

◆ eeprom_table

boto3.Session enlighten.network.CloudManager.CloudManager.eeprom_table = self.dynamo_resource.Table("WPSCReports")

◆ enable_callback

enlighten.network.CloudManager.CloudManager.enable_callback

◆ restore_callback

enlighten.network.CloudManager.CloudManager.restore_callback

◆ result_message

enlighten.network.CloudManager.CloudManager.result_message = QMessageBox(self.bt_restore)

◆ session

boto3.Session enlighten.network.CloudManager.CloudManager.session = None

The documentation for this class was generated from the following file: