This pr makes the Preselector an abstract class and introduces a WebRelayPreselector as an implementation of a Preselector. It also simplifies the interface of the Preselector by removing methods to set a source on and off and simply have a method to set_rf_path. Additional renaming and edits were performed to comply with recommended Python style. Finally, a number of tests were added to ensure the Preselector is populated correctly.
This pr makes the Preselector an abstract class and introduces a WebRelayPreselector as an implementation of a Preselector. It also simplifies the interface of the Preselector by removing methods to set a source on and off and simply have a method to set_rf_path. Additional renaming and edits were performed to comply with recommended Python style. Finally, a number of tests were added to ensure the Preselector is populated correctly.