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()
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()
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()
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
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()
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()
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()
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
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')
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_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()
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()
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()
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')
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()
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
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
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()
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()
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
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)
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)
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()
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()
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()
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()
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()
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()
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
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
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()
def no_translation(): lang = trans_real.get_language() trans_real.deactivate() yield trans_real.activate(lang)
def tearDown(self): trans_real.deactivate() self.test_obj.delete()
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()
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()
def no_translation(): lang = trans_real.get_language() trans_real.deactivate() yield trans_real.activate(lang)
def tearDown(self): trans_real.deactivate() self.test_obj.delete()
def set(self, lang_code): trans_real.deactivate() trans_real.activate(lang_code)
def __exit__(self, type, value, traceback): deactivate()
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()
def tearDown(self): trans_real.deactivate()
def __exit__(self, type, value, traceback): deactivate()