class ElasticsearchInterface(object):
    def __init__(self, es):
        self.es = es

    def update_index_settings(self, index, settings_dict):
        return self.es.indices.put_settings(settings_dict, index=index)

@@ -1,10 +1,65 @@
-class 
+import abc%0A%0Afrom django.conf import settings%0A%0A%0Aclass Abstract
 Elas
@@ -81,14 +81,29 @@
 ace(
-object
+metaclass=abc.ABCMeta
 ):%0A 
@@ -210,16 +210,16 @@
 _dict):%0A
-
         
@@ -282,8 +282,794 @@
 =index)%0A
+%0A%0Aclass ElasticsearchInterface1(AbstractElasticsearchInterface):%0A    pass%0A%0A%0Aclass ElasticsearchInterface2(AbstractElasticsearchInterface):%0A    _deprecated_index_settings = (%0A        'merge.policy.merge_factor',%0A    )%0A%0A    def update_index_settings(self, index, settings_dict):%0A        assert set(settings_dict.keys()) == %7B'index'%7D, settings_dict.keys()%0A        settings_dict = %7B%0A            %22index%22: %7B%0A                key: value for key, value in settings_dict%5B'index'%5D.items()%0A                if key not in self._deprecated_index_settings%0A            %7D%0A        %7D%0A        super(ElasticsearchInterface2, self).update_index_settings(index, settings_dict)%0A%0A%0AElasticsearchInterface = %7B%0A    1: ElasticsearchInterface1,%0A    2: ElasticsearchInterface2,%0A%7D%5Bsettings.ELASTICSEARCH_MAJOR_VERSION%5D%0A

Split ElasticsearchInterface into ElasticsearchInterface1 and ElasticsearchInterface2