def _collect_editable_booleans(self):
        if hasattr(self, '_ajax_editable_booleans'):
            return

        self._ajax_editable_booleans = {}

        for field in self.list_display:
            # The ajax_editable_boolean return value has to be assigned
            # to the ModelAdmin class
            try:
                item = getattr(self.__class__, field)
            except (AttributeError, TypeError):
                continue

            attr = getattr(item, 'editable_boolean_field', None)
            if attr:
                if hasattr(item, 'editable_boolean_result'):
                    result_func = item.editable_boolean_result
                else:
                    def _fn(attr):
                        return lambda self, instance: [
                            ajax_editable_boolean_cell(instance, attr)]
                    result_func = _fn(attr)
                self._ajax_editable_booleans[attr] = result_func
JWT Tokens may be truncated without the usual trailing padding '='
dataset/ETHPy150Open feincms/feincms/feincms/admin/tree_editor.py/TreeEditor._collect_editable_booleans--crossover with--dataset/ETHPy150Open Demonware/jose/jose.py/b64decode_url