Ejemplo n.º 1
0
 def test_rule2(self):                                            
     """
     Rule 2: Assigning a value to the original field also updates the value
     in the associated translation field of the default language
     """
     self.failUnlessEqual(get_language(), "de")
     title1_de = "title de"
     title1_en = "title en"
     n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)                            
     self.failUnlessEqual(n.title, title1_de)
     self.failUnlessEqual(n.title_de, title1_de)
     self.failUnlessEqual(n.title_en, title1_en)
                 
     title2 =  "Neuer Titel"                   
     n.title = title2
     n.save()
     self.failUnlessEqual(n.title, title2)
     self.failUnlessEqual(n.title, n.title_de)
     
     trans_real.activate("en")
     self.failUnlessEqual(get_language(), "en")
     title3 = "new title"
     
     n.title = title3
     n.title_de = title1_de
     n.save()
     self.failUnlessEqual(n.title, title3)
     self.failUnlessEqual(n.title, n.title_en)
     self.failUnlessEqual(title1_de, n.title_de)
     
     trans_real.deactivate()                
Ejemplo n.º 2
0
 def test_rule3(self):
     """
     Rule 3: Assigning a value to a translation field of the default language
     also updates the original field - note that the value of the original 
     field will not be updated until the model instance is saved.
     """
     title1_de = "title de"
     title1_en = "title en"
     n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)                            
     self.failUnlessEqual(get_language(), "de")
     self.failUnlessEqual(n.title, title1_de)
     self.failUnlessEqual(n.title_de, title1_de)
     self.failUnlessEqual(n.title_en, title1_en)
                 
     n.title_de = "Neuer Titel"
     n.save()
     self.failUnlessEqual(n.title, n.title_de)
     
     # Now switch to "en"
     trans_real.activate("en")
     self.failUnlessEqual(get_language(), "en")
     n.title_en = "New title"
     # the n.title field is not updated before the instance is saved
     n.save()
     self.failUnlessEqual(n.title, n.title_en)
     trans_real.deactivate()
Ejemplo n.º 3
0
 def _pre_setup(self):
     """Adjust cache-machine settings, and send custom pre-setup signal."""
     signals.pre_setup.send(sender=self.__class__)
     settings.CACHE_COUNT_TIMEOUT = None
     trans_real.deactivate()
     trans_real._translations = {}  # Django fails to clear this cache.
     super(TestCase, self)._pre_setup()
Ejemplo n.º 4
0
    def _pre_setup(self):
        super(TestCase, self)._pre_setup()

        # XXX See if we can remove this when we switch to Django 1.8.
        # Some crud from the migration system gets stuck here and we have to
        # kick it loose manually.
        from mkt.webapps.models import AddonUser
        UserProfile.addonuser_set.related.model = AddonUser

        # Clean the slate.
        cache.clear()
        post_request_task._discard_tasks()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)

        self.mock_browser_id()

        global JINJA_INSTRUMENTED
        if not JINJA_INSTRUMENTED:
            import jinja2
            old_render = jinja2.Template.render

            def instrumented_render(self, *args, **kwargs):
                context = dict(*args, **kwargs)
                test.signals.template_rendered.send(sender=self, template=self,
                                                    context=context)
                return old_render(self, *args, **kwargs)

            jinja2.Template.render = instrumented_render
            JINJA_INSTRUMENTED = True
Ejemplo n.º 5
0
    def test_rule2(self):
        """
        Rule 2: Assigning a value to the original field also updates the value
        in the associated translation field of the default language
        """
        self.failUnlessEqual(get_language(), "de")
        title1_de = "title de"
        title1_en = "title en"
        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)

        title2 = "Neuer Titel"
        n.title = title2
        n.save()
        self.failUnlessEqual(n.title, title2)
        self.failUnlessEqual(n.title, n.title_de)

        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        title3 = "new title"

        n.title = title3
        n.title_de = title1_de
        n.save()
        self.failUnlessEqual(n.title, title3)
        self.failUnlessEqual(n.title, n.title_en)
        self.failUnlessEqual(title1_de, n.title_de)

        trans_real.deactivate()
Ejemplo n.º 6
0
    def _test_field(self, field_name, value_de, value_en, deactivate=True):
        field_name_de = '%s_de' % field_name
        field_name_en = '%s_en' % field_name
        params = {'title_de': 'title de',
                  'title_en': 'title en'}
        params[field_name_de] = value_de
        params[field_name_en] = value_en

        n = TestModel.objects.create(**params)
        # Language is set to "de" at this point
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(getattr(n, field_name), value_de)
        self.failUnlessEqual(getattr(n, field_name_de), value_de)
        self.failUnlessEqual(getattr(n, field_name_en), value_en)
        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        # Should now be return the english one (just by switching the language)
        self.failUnlessEqual(getattr(n, field_name), value_en)

        n = TestModel.objects.create(**params)
        n.save()
        # Language is set to "en" at this point
        self.failUnlessEqual(getattr(n, field_name), value_en)
        self.failUnlessEqual(getattr(n, field_name_de), value_de)
        self.failUnlessEqual(getattr(n, field_name_en), value_en)
        trans_real.activate("de")
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(getattr(n, field_name), value_de)

        if deactivate:
            trans_real.deactivate()
Ejemplo n.º 7
0
    def test_rule2(self):
        """
        Basic CharField/TextField test.
        Could as well call _test_field, just kept for reference.
        """
        self.failUnlessEqual(get_language(), "de")
        title1_de = "title de"
        title1_en = "title en"
        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)

        title2 = "Neuer Titel"
        n.title = title2
        n.save()
        self.failUnlessEqual(n.title, title2)
        self.failUnlessEqual(n.title, n.title_de)

        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        title3 = "new title"

        n.title = title3
        n.title_de = title1_de
        n.save()
        self.failUnlessEqual(n.title, title3)
        self.failUnlessEqual(n.title, n.title_en)
        self.failUnlessEqual(title1_de, n.title_de)

        trans_real.deactivate()
Ejemplo n.º 8
0
    def _pre_setup(self):
        super(TestCase, self)._pre_setup()

        # Clean the slate.
        cache.clear()
        post_request_task._discard_tasks()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)

        self.mock_browser_id()

        global JINJA_INSTRUMENTED
        if not JINJA_INSTRUMENTED:
            import jinja2
            old_render = jinja2.Template.render

            def instrumented_render(self, *args, **kwargs):
                context = dict(*args, **kwargs)
                test.signals.template_rendered.send(sender=self, template=self,
                                                    context=context)
                return old_render(self, *args, **kwargs)

            jinja2.Template.render = instrumented_render
            JINJA_INSTRUMENTED = True
Ejemplo n.º 9
0
def import_classification_of_icd_cid(file_name):
    filename = os.path.join(
        settings.BASE_DIR,
        os.path.join("..", "..",
                     os.path.join("resources", "load-idc-table", file_name)))

    increment = 2  # start of second line, without header

    with open(filename) as csvfile:
        total_lines = sum(1 for row in csvfile)
    if total_lines:
        pass
    else:
        return print('File Empty')

    with open(filename, 'r') as csvFile:
        reader = csv.reader(csvFile)
        next(reader, None)
        for row in reader:

            classifications_of_diseases = ClassificationOfDiseases.objects.create(
                code=row[0],
                description=row[2],
                abbreviated_description=row[3])

            # colunas _en
            activate("en")
            classifications_of_diseases.description = row[1]
            classifications_of_diseases.abbreviated_description = row[1]
            classifications_of_diseases.save()
            deactivate()
            progress_bar(increment, total_lines, status='Updating database')
            increment += 1
    print('\n')
Ejemplo n.º 10
0
    def _pre_setup(self):
        super(TestCase, self)._pre_setup()

        # If we have a settings_test.py let's roll it into our settings.
        try:
            import settings_test
            # Use setattr to update Django's proxies:
            for k in dir(settings_test):
                setattr(settings, k, getattr(settings_test, k))
        except ImportError:
            pass

        # Clean the slate.
        cache.clear()
        post_request_task._discard_tasks()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)

        self.mock_browser_id()

        global JINJA_INSTRUMENTED
        if not JINJA_INSTRUMENTED:
            import jinja2
            old_render = jinja2.Template.render

            def instrumented_render(self, *args, **kwargs):
                context = dict(*args, **kwargs)
                test.signals.template_rendered.send(sender=self, template=self,
                                                    context=context)
                return old_render(self, *args, **kwargs)

            jinja2.Template.render = instrumented_render
            JINJA_INSTRUMENTED = True
Ejemplo n.º 11
0
    def _test_field(self, field_name, value1_de, value1_en, value2, value3,
                    deactivate=True):
        field_name_de = '%s_de' % field_name
        field_name_en = '%s_en' % field_name
        params = {'title_de': 'title de',
                  'title_en': 'title en'}
        params[field_name_de] = value1_de
        params[field_name_en] = value1_en

        n = TestModel.objects.create(**params)

        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(getattr(n, field_name), value1_de)
        self.failUnlessEqual(getattr(n, field_name_de), value1_de)
        self.failUnlessEqual(getattr(n, field_name_en), value1_en)

        setattr(n, field_name, value2)
        n.save()
        self.failUnlessEqual(getattr(n, field_name), getattr(n, field_name_de))

        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        setattr(n, field_name_en, value3)
        # the n.title field is not updated before the instance is saved
        n.save()
        self.failUnlessEqual(getattr(n, field_name), getattr(n, field_name_en))

        if deactivate:
            trans_real.deactivate()
Ejemplo n.º 12
0
    def test_rule3(self):
        """
        Basic CharField/TextField test.
        Could as well call _test_field, just kept for reference.
        """
        title1_de = "title de"
        title1_en = "title en"
        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)

        n.title_de = "Neuer Titel"
        n.save()
        self.failUnlessEqual(n.title, n.title_de)

        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        n.title_en = "New title"
        # the n.title field is not updated before the instance is saved
        n.save()
        self.failUnlessEqual(n.title, n.title_en)
        trans_real.deactivate()
Ejemplo n.º 13
0
    def _test_field(self, field_name, value1_de, value1_en, value2_de,
                    value2_en, value3, deactivate=True):
        field_name_de = '%s_de' % field_name
        field_name_en = '%s_en' % field_name
        params = {'title_de': 'title de',
                  'title_en': 'title en'}
        params[field_name_de] = value1_de
        params[field_name_en] = value1_en

        n = TestModel.objects.create(**params)

        self.failUnlessEqual(getattr(n, field_name), value1_de)
        self.failUnlessEqual(getattr(n, field_name_de), value1_de)
        self.failUnlessEqual(getattr(n, field_name_en), value1_en)

        setattr(n, field_name, value3)
        setattr(n, field_name_de, value2_de)
        setattr(n, field_name_en, value2_en)
        n.save()
        self.failUnlessEqual(getattr(n, field_name), value2_de)
        self.failUnlessEqual(getattr(n, field_name_de), value2_de)
        self.failUnlessEqual(getattr(n, field_name_en), value2_en)

        setattr(n, field_name, value3)
        n.save()
        self.failUnlessEqual(getattr(n, field_name), value3)
        self.failUnlessEqual(getattr(n, field_name_de), value3)
        self.failUnlessEqual(getattr(n, field_name_en), value2_en)

        if deactivate:
            trans_real.deactivate()
Ejemplo n.º 14
0
def import_classification_of_icd_cid(file_name):
    filename = os.path.join(settings.BASE_DIR,
                            os.path.join("..", "..", os.path.join("resources", "load-idc-table", file_name)))

    increment = 2  #start of second line, without header

    with open(filename) as csvfile:
        total_lines = sum(1 for row in csvfile)
    if total_lines:
        pass
    else:
        return print('File Empty')

    with open(filename, 'r') as csvFile:
        reader = csv.reader(csvFile)
        next(reader, None)
        for row in reader:

            classifications_of_diseases = ClassificationOfDiseases.objects.create(
                code=row[0], description=row[2], abbreviated_description=row[3]
            )

            # colunas _en
            activate("en")
            classifications_of_diseases.description = row[1]
            classifications_of_diseases.abbreviated_description = row[1]
            classifications_of_diseases.save()
            deactivate()
            progress_bar(increment, total_lines, status='Updating database')
            increment += 1
    print('\n')
Ejemplo n.º 15
0
    def _test_field(self, field_name, value1_de, value1_en, value2, value3,
                    deactivate=True):
        field_name_de = '%s_de' % field_name
        field_name_en = '%s_en' % field_name
        params = {'title_de': 'title de',
                  'title_en': 'title en'}
        params[field_name_de] = value1_de
        params[field_name_en] = value1_en

        self.failUnlessEqual(get_language(), "de")
        n = TestModel.objects.create(**params)
        self.failUnlessEqual(getattr(n, field_name), value1_de)
        self.failUnlessEqual(getattr(n, field_name_de), value1_de)
        self.failUnlessEqual(getattr(n, field_name_en), value1_en)

        setattr(n, field_name, value2)
        n.save()
        self.failUnlessEqual(getattr(n, field_name), value2)
        self.failUnlessEqual(getattr(n, field_name), getattr(n, field_name_de))

        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")

        setattr(n, field_name, value3)
        setattr(n, field_name_de, value1_de)
        n.save()
        self.failUnlessEqual(getattr(n, field_name), value3)
        self.failUnlessEqual(getattr(n, field_name), getattr(n, field_name_en))
        self.failUnlessEqual(value1_de, getattr(n, field_name_de))

        if deactivate:
            trans_real.deactivate()
Ejemplo n.º 16
0
    def _pre_setup(self):
        super(KumaTestCase, self)._pre_setup()

        # Clean the slate.
        cache.clear()
        memcache.clear()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)

        global JINJA_INSTRUMENTED
        if not JINJA_INSTRUMENTED:
            import jinja2
            old_render = jinja2.Template.render

            def instrumented_render(self, *args, **kwargs):
                context = dict(*args, **kwargs)
                test.signals.template_rendered.send(sender=self,
                                                    template=self,
                                                    context=context)
                return old_render(self, *args, **kwargs)

            jinja2.Template.render = instrumented_render
            JINJA_INSTRUMENTED = True
Ejemplo n.º 17
0
    def _pre_setup(self):
        super(TestCase, self)._pre_setup()

        # XXX See if we can remove this when we switch to Django 1.8.
        # Some crud from the migration system gets stuck here and we have to
        # kick it loose manually.
        from mkt.webapps.models import AddonUser
        UserProfile.addonuser_set.related.model = AddonUser

        # Clean the slate.
        cache.clear()
        post_request_task._discard_tasks()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)

        self.mock_browser_id()

        global JINJA_INSTRUMENTED
        if not JINJA_INSTRUMENTED:
            import jinja2
            old_render = jinja2.Template.render

            def instrumented_render(self, *args, **kwargs):
                context = dict(*args, **kwargs)
                test.signals.template_rendered.send(sender=self,
                                                    template=self,
                                                    context=context)
                return old_render(self, *args, **kwargs)

            jinja2.Template.render = instrumented_render
            JINJA_INSTRUMENTED = True
Ejemplo n.º 18
0
def update_category_cache(sender, instance, **kwargs):
    for l in settings.LANGUAGES:
        l = l[0]
        trans_real.activate(l)
        cache.set('%s_%s' % (CATEGORY_LIST_CACHE_KEY, l),
                  Category.objects.filter(is_active=True), CACHE_TIMEOUT)
        trans_real.deactivate()
Ejemplo n.º 19
0
    def test_rule3(self):
        """
        Rule 3: Assigning a value to a translation field of the default
        language also updates the original field - note that the value of the
        original field will not be updated until the model instance is saved.
        """
        title1_de = "title de"
        title1_en = "title en"
        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)

        n.title_de = "Neuer Titel"
        n.save()
        self.failUnlessEqual(n.title, n.title_de)

        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        n.title_en = "New title"
        # the n.title field is not updated before the instance is saved
        n.save()
        self.failUnlessEqual(n.title, n.title_en)
        trans_real.deactivate()
Ejemplo n.º 20
0
def test_admin_trumbowyg_widget_en_lang(monkeypatch):
    widget = AdminTrumbowygWidget()

    trans_real.deactivate()
    monkeypatch.setattr(settings, 'LANGUAGE_CODE', 'en')

    _, js = widget.assets

    assert 'trumbowyg/dist/langs/en.js' not in js
Ejemplo n.º 21
0
    def _pre_setup(self):
        super(KumaTestMixin, self)._pre_setup()

        # Clean the slate.
        cache.clear()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)
Ejemplo n.º 22
0
    def _pre_setup(self):
        super(KumaTestMixin, self)._pre_setup()

        # Clean the slate.
        cache.clear()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)
Ejemplo n.º 23
0
    def test_rule3(self):
        """
        Basic CharField/TextField test.
        Could as well call _test_field, just kept for reference.
        """
        title1_de = "title de"
        title1_en = "title en"
        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)
        self.failUnlessEqual(get_language(), 'de')
        self.failUnlessEqual(mt_settings.DEFAULT_LANGUAGE, 'de')
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)

        n.title_de = "Neuer Titel"
        n.save()
        # We expect that the original field holds the same value as the german
        # one (german is the default language).
        self.failUnlessEqual(n.title, n.title_de)

        # Fetch the updated object and verify all fields
        updated_obj = TestModel.objects.get(id=n.id)
        self.failUnlessEqual(updated_obj.title, 'Neuer Titel')
        self.failUnlessEqual(updated_obj.title_de, 'Neuer Titel')
        self.failUnlessEqual(updated_obj.title_en, 'title en')

        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        n.title_en = "New title"
        # the n.title field is not updated before the instance is saved
        n.save()

        # We expect that the original field has *not* been changed as german
        # is the default language and we only changed the value of the english
        # field.
        # FIXME: Demonstrates a wrong behaviour of save when the current
        # language is different than the default language. In this case the
        # original field is set to value of the current language's field.
        # See issue 33 for details.

        # TODO: Reactivate, temporarily deactivated for a full run of travis ci
        #self.failUnlessEqual(n.title, n.title_de)

        # Fetch the updated object and verify all fields
        #updated_obj = TestModel.objects.get(id=n.id)
        #self.failUnlessEqual(updated_obj.title, 'Neuer Titel')
        #self.failUnlessEqual(updated_obj.title_de, 'Neuer Titel')
        #self.failUnlessEqual(updated_obj.title_en, 'New title')

        trans_real.deactivate()
Ejemplo n.º 24
0
    def test_rule1(self):
        """
        Rule 1: Reading the value from the original field returns the value in
        translated to the current language.
        """
        title1_de = "title de"
        title1_en = "title en"
        text_de = "Dies ist ein deutscher Satz"
        text_en = "This is an english sentence"

        # Test 1.
        n = TestModel.objects.create(title_de=title1_de,
                                     title_en=title1_en,
                                     text_de=text_de,
                                     text_en=text_en)
        n.save()

        # language is set to "de" at this point
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)
        self.failUnlessEqual(n.text, text_de)
        self.failUnlessEqual(n.text_de, text_de)
        self.failUnlessEqual(n.text_en, text_en)
        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        # Title should now be return the english one (just by switching the
        # language)
        self.failUnlessEqual(n.title, title1_en)
        self.failUnlessEqual(n.text, text_en)

        n = TestModel.objects.create(title_de=title1_de,
                                     title_en=title1_en,
                                     text_de=text_de,
                                     text_en=text_en)
        n.save()
        # language is set to "en" at this point
        self.failUnlessEqual(n.title, title1_en)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)
        self.failUnlessEqual(n.text, text_en)
        self.failUnlessEqual(n.text_de, text_de)
        self.failUnlessEqual(n.text_en, text_en)
        trans_real.activate("de")
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.text, text_de)
        trans_real.deactivate()
Ejemplo n.º 25
0
    def test_rule1(self):
        """
        Basic CharField/TextField test.
        Could as well call _test_field, just kept for reference.
        """
        title1_de = "title de"
        title1_en = "title en"
        text_de = "Dies ist ein deutscher Satz"
        text_en = "This is an english sentence"

        n = TestModel.objects.create(title_de=title1_de,
                                     title_en=title1_en,
                                     text_de=text_de,
                                     text_en=text_en)
        n.save()

        # Language is set to 'de' at this point
        self.failUnlessEqual(get_language(), 'de')
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)
        self.failUnlessEqual(n.text, text_de)
        self.failUnlessEqual(n.text_de, text_de)
        self.failUnlessEqual(n.text_en, text_en)
        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        # Title should now be return the english one (just by switching the
        # language)
        self.failUnlessEqual(n.title, title1_en)
        self.failUnlessEqual(n.text, text_en)

        n = TestModel.objects.create(title_de=title1_de,
                                     title_en=title1_en,
                                     text_de=text_de,
                                     text_en=text_en)
        n.save()
        # Language is set to "en" at this point
        self.failUnlessEqual(n.title, title1_en)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)
        self.failUnlessEqual(n.text, text_en)
        self.failUnlessEqual(n.text_de, text_de)
        self.failUnlessEqual(n.text_en, text_en)
        trans_real.activate('de')
        self.failUnlessEqual(get_language(), 'de')
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.text, text_de)

        trans_real.deactivate()
Ejemplo n.º 26
0
    def test_rule3(self):
        """
        Basic CharField/TextField test.
        Could as well call _test_field, just kept for reference.
        """
        title1_de = "title de"
        title1_en = "title en"
        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en)
        self.failUnlessEqual(get_language(), 'de')
        self.failUnlessEqual(DEFAULT_LANGUAGE, 'de')
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)

        n.title_de = "Neuer Titel"
        n.save()
        # We expect that the original field holds the same value as the german
        # one (german is the default language).
        self.failUnlessEqual(n.title, n.title_de)

        # Fetch the updated object and verify all fields
        updated_obj = TestModel.objects.get(id=n.id)
        self.failUnlessEqual(updated_obj.title, 'Neuer Titel')
        self.failUnlessEqual(updated_obj.title_de, 'Neuer Titel')
        self.failUnlessEqual(updated_obj.title_en, 'title en')

        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        n.title_en = "New title"
        # the n.title field is not updated before the instance is saved
        n.save()
        # We expect that the original field has *not* been changed as german
        # is the default language and we only changed the value of the english
        # field.
        # FIXME: Demonstrates a wrong behaviour of save when the current
        # language is different than the default language. In this case the
        # original field is set to value of the current language's field.
        # See issue 33 for details.
        self.failUnlessEqual(n.title, n.title_de)

        # Fetch the updated object and verify all fields
        updated_obj = TestModel.objects.get(id=n.id)
        self.failUnlessEqual(updated_obj.title, 'Neuer Titel')
        self.failUnlessEqual(updated_obj.title_de, 'Neuer Titel')
        self.failUnlessEqual(updated_obj.title_en, 'New title')

        trans_real.deactivate()
Ejemplo n.º 27
0
    def test_rule1(self):
        """
        Basic CharField/TextField test.
        Could as well call _test_field, just kept for reference.
        """
        title1_de = "title de"
        title1_en = "title en"
        text_de = "Dies ist ein deutscher Satz"
        text_en = "This is an english sentence"

        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en,
                                     text_de=text_de, text_en=text_en)
        n.save()

        # Language is set to "de" at this point
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)
        self.failUnlessEqual(n.text, text_de)
        self.failUnlessEqual(n.text_de, text_de)
        self.failUnlessEqual(n.text_en, text_en)
        # Now switch to "en"
        trans_real.activate("en")
        self.failUnlessEqual(get_language(), "en")
        # Title should now be return the english one (just by switching the
        # language)
        self.failUnlessEqual(n.title, title1_en)
        self.failUnlessEqual(n.text, text_en)

        n = TestModel.objects.create(title_de=title1_de, title_en=title1_en,
                                     text_de=text_de, text_en=text_en)
        n.save()
        # Language is set to "en" at this point
        self.failUnlessEqual(n.title, title1_en)
        self.failUnlessEqual(n.title_de, title1_de)
        self.failUnlessEqual(n.title_en, title1_en)
        self.failUnlessEqual(n.text, text_en)
        self.failUnlessEqual(n.text_de, text_de)
        self.failUnlessEqual(n.text_en, text_en)
        trans_real.activate("de")
        self.failUnlessEqual(get_language(), "de")
        self.failUnlessEqual(n.title, title1_de)
        self.failUnlessEqual(n.text, text_de)

        trans_real.deactivate()
Ejemplo n.º 28
0
 def test_rule1(self):                        
     """
     Rule 1: Reading the value from the original field returns the value in 
     translated to the current language.
     """
     title1_de = "title de"
     title1_en = "title en"
     text_de = "Dies ist ein deutscher Satz"
     text_en = "This is an english sentence"
     
     # Test 1.
     n = TestModel.objects.create(title_de=title1_de, title_en=title1_en,
                                  text_de=text_de, text_en=text_en)
     n.save()
     
     # language is set to "de" at this point
     self.failUnlessEqual(get_language(), "de")
     self.failUnlessEqual(n.title, title1_de)
     self.failUnlessEqual(n.title_de, title1_de)
     self.failUnlessEqual(n.title_en, title1_en)
     self.failUnlessEqual(n.text, text_de)
     self.failUnlessEqual(n.text_de, text_de)
     self.failUnlessEqual(n.text_en, text_en)
     # Now switch to "en"
     trans_real.activate("en")
     self.failUnlessEqual(get_language(), "en")
     # Title should now be return the english one (just by switching the
     # language)
     self.failUnlessEqual(n.title, title1_en)        
     self.failUnlessEqual(n.text, text_en)        
             
     n = TestModel.objects.create(title_de=title1_de, title_en=title1_en,
                                  text_de=text_de, text_en=text_en)
     n.save()
     # language is set to "en" at this point
     self.failUnlessEqual(n.title, title1_en)
     self.failUnlessEqual(n.title_de, title1_de)
     self.failUnlessEqual(n.title_en, title1_en)
     self.failUnlessEqual(n.text, text_en)
     self.failUnlessEqual(n.text_de, text_de)
     self.failUnlessEqual(n.text_en, text_en)
     trans_real.activate("de")
     self.failUnlessEqual(get_language(), "de")
     self.failUnlessEqual(n.title, title1_de)
     self.failUnlessEqual(n.text, text_de)
     trans_real.deactivate()
Ejemplo n.º 29
0
def icd_english_translation(tree):
    activate("en")

    codes = []
    icd_list = {}

    categories = tree.findall(".//Class/[@kind='category']")
    for category in categories:
        code = category.attrib['code']
        code = code.replace(".", "")

        label_element = category.find("Rubric[@kind='preferred']").find(
            "Label")

        abbreviated_description = format_text_element(label_element)

        long_description = category.find("Rubric[@kind='preferredLong']")

        if long_description:
            description = format_text_element(long_description.find("Label"))
        else:
            description = abbreviated_description

        icd_list[code] = [abbreviated_description, description]
        codes.append(code)

    classifications_of_diseases = ClassificationOfDiseases.objects.filter(
        code__in=codes)

    records_updated = 0

    for classification_of_disease in classifications_of_diseases:

        classification_of_disease.abbreviated_description = icd_list[
            classification_of_disease.code][0]
        classification_of_disease.description = icd_list[
            classification_of_disease.code][1]
        classification_of_disease.save()
        records_updated += 1

    deactivate()

    return records_updated
Ejemplo n.º 30
0
def icd_english_translation(tree):
    activate("en")

    codes = []
    icd_list = {}

    categories = tree.findall(".//Class/[@kind='category']")
    for category in categories:
        code = category.attrib['code']
        code = code.replace(".", "")

        label_element = category.find("Rubric[@kind='preferred']").find("Label")

        abbreviated_description = format_text_element(label_element)

        long_description = category.find("Rubric[@kind='preferredLong']")

        if long_description:
            description = format_text_element(long_description.find("Label"))
        else:
            description = abbreviated_description

        icd_list[code] = [abbreviated_description, description]
        codes.append(code)

    classifications_of_diseases = ClassificationOfDiseases.objects.filter(code__in=codes)

    records_updated = 0

    for classification_of_disease in classifications_of_diseases:

        classification_of_disease.abbreviated_description = icd_list[classification_of_disease.code][0]
        classification_of_disease.description = icd_list[classification_of_disease.code][1]
        classification_of_disease.save()
        records_updated += 1

    deactivate()

    return records_updated
Ejemplo n.º 31
0
    def _pre_setup(self):
        super(TestCase, self)._pre_setup()

        # If we have a settings_test.py let's roll it into our settings.
        try:
            import settings_test
            # Use setattr to update Django's proxies:
            for k in dir(settings_test):
                setattr(settings, k, getattr(settings_test, k))
        except ImportError:
            pass

        # Clean the slate.
        cache.clear()
        post_request_task._discard_tasks()

        trans_real.deactivate()
        trans_real._translations = {}  # Django fails to clear this cache.
        trans_real.activate(settings.LANGUAGE_CODE)

        self.mock_browser_id()

        global JINJA_INSTRUMENTED
        if not JINJA_INSTRUMENTED:
            import jinja2
            old_render = jinja2.Template.render

            def instrumented_render(self, *args, **kwargs):
                context = dict(*args, **kwargs)
                test.signals.template_rendered.send(sender=self,
                                                    template=self,
                                                    context=context)
                return old_render(self, *args, **kwargs)

            jinja2.Template.render = instrumented_render
            JINJA_INSTRUMENTED = True
    def test_multiple_langs(self):

        category = Category.objects.get(name="Category one")

        trans_real.activate('en')
        category.name = "Category one english"
        category.save()
        trans_real.deactivate()
        trans_real.activate('es')
        category.name = "Categoria uno"
        category.save()
        trans_real.deactivate()

        # Retrieve category
        trans_real.activate('en')
        cat = Category.objects.all()[0]
        self.assertEquals(cat.name, "Category one english")
        trans_real.deactivate()

        trans_real.activate('es')
        cat = Category.objects.all()[0]
        self.assertEquals(cat.name, "Categoria uno")
        trans_real.deactivate()
Ejemplo n.º 33
0
def no_translation():
    lang = trans_real.get_language()
    trans_real.deactivate()
    yield
    trans_real.activate(lang)
Ejemplo n.º 34
0
 def tearDown(self):
     trans_real.deactivate()
     self.test_obj.delete()
Ejemplo n.º 35
0
def update_category_cache(sender, instance, **kwargs):
    for l in settings.LANGUAGES:
        l = l[0]
        trans_real.activate(l)
        cache.set('%s_%s' % (CATEGORY_LIST_CACHE_KEY, l ), Category.objects.filter(is_active=True), CACHE_TIMEOUT)
        trans_real.deactivate()
Ejemplo n.º 36
0
 def _pre_setup(self):
     cache.clear()
     trans_real.deactivate()
     trans_real._translations = {}  # Django fails to clear this cache.
     trans_real.activate(settings.LANGUAGE_CODE)
     super(TestCase, self)._pre_setup()
Ejemplo n.º 37
0
def no_translation():
    lang = trans_real.get_language()
    trans_real.deactivate()
    yield
    trans_real.activate(lang)
Ejemplo n.º 38
0
 def tearDown(self):
     trans_real.deactivate()
     self.test_obj.delete()
Ejemplo n.º 39
0
 def set(self, lang_code):
     trans_real.deactivate()
     trans_real.activate(lang_code)
Ejemplo n.º 40
0
 def __exit__(self, type, value, traceback):
     deactivate()
Ejemplo n.º 41
0
 def _pre_setup(self):
     cache.clear()
     trans_real.deactivate()
     trans_real._translations = {}  # Django fails to clear this cache.
     trans_real.activate(settings.LANGUAGE_CODE)
     super(TestCase, self)._pre_setup()
Ejemplo n.º 42
0
 def tearDown(self):
     trans_real.deactivate()
Ejemplo n.º 43
0
 def __exit__(self, type, value, traceback):
     deactivate()