def setUpClass(cls) -> None: cls.conn = ConnectionSettings(url="http://url.com", domain='rtest') cls.conn.save() cls.couch_repeaters = [] for r in deepcopy(repeater_test_data): r = Repeater.wrap(r) r.connection_settings_id = cls.conn.id r.save(sync_to_sql=False) cls.couch_repeaters.append(r) return super().setUpClass()
def __init__(self, *args, **kwargs): if kwargs.get('data'): repeater = Repeater.wrap(kwargs['data']) if not repeater.connection_settings_id: repeater.create_connection_settings() self.domain = kwargs.pop('domain') self.repeater_class = kwargs.pop('repeater_class') self.formats = RegisterGenerator.all_formats_by_repeater( self.repeater_class, for_domain=self.domain) conns = ConnectionSettings.objects.filter(domain=self.domain) self.connection_settings_choices = [(c.id, c.name) for c in conns] self.submit_btn_text = kwargs.pop('submit_btn_text', _("Start Forwarding")) super(GenericRepeaterForm, self).__init__(*args, **kwargs) self.set_extra_django_form_fields() self._initialize_crispy_layout()
def iter_repeaters(): for result in Repeater.get_db().view('repeaters/repeaters', reduce=False, include_docs=True).all(): try: repeater = Repeater.wrap(result['doc']) except ResourceNotFound: if result['doc']['doc_type'] in DELETED_REPEATER_CLASSES: # repeater is an instance of a class that has been deleted # from the codebase. It is safe to delete because it does # not have repeat records waiting to be sent, and no future # repeat records will be created for it. delete_zombie_repeater_instance(result['doc']) continue else: raise else: yield repeater