def _to_env_name(key): transliterated = transliterate(key) replaced = re.sub('[^0-9a-zA-Z_]+', '_', transliterated) if replaced == '_': return None return 'PARAM_' + replaced.upper()
def test_russian_string_with_all_letters(self): result = transliterate( 'Съешь ещё этих мягких французских булок, да выпей чаю') self.assertEqual( "S'esh' eschyo etih myagkih frantsuzskih bulok, da vypey chayu", result)
def create(self, validated_data): validated_data['keywords'] = transliterate(validated_data['title']) return super().create(validated_data)
def test_english_string(self): original = 'The quick brown fox jumps over the lazy dog' result = transliterate(original) self.assertEqual(original, result)
def test_remove_accents(self): result = transliterate('Montréal, Mère, Françoise') self.assertEqual('Montreal, Mere, Francoise', result)
def test_greek_string(self): result = transliterate('Θράσυλλος Ἑκατώνυµος καρακτηρ ῥυθμος') self.assertEqual('Thrasyllos Ekatonymos karakter rythmos', result)
def test_german_string_with_special_characters(self): result = transliterate('Äpfel schöne Grüße') self.assertEqual('Aepfel schoene Gruesse', result)
def test_russian_string_with_map_into_multiple_letters(self): result = transliterate('Щелкунчик и друзья') self.assertEqual("Schelkunchik i druz'ya", result)
def test_russian_string_with_soft_signs(self): result = transliterate('подъезд ель') self.assertEqual("pod'ezd el'", result)
def test_russian_string_with_punctuation_marks(self): result = transliterate('Привет, как дела?') self.assertEqual('Privet, kak dela?', result)
def test_english_string_with_punctuation_marks(self): original = 'Hello, world!' result = transliterate(original) self.assertEqual(original, result)
def final_step(): search = request.form.get('search') fiasId = request.form.get('houses') if not (fiasId or session['result']): abort(400) _resu = result_search(fiasId, session['result'])[0] site_params = { "name": '', "slug": '', "region": '', "description": '', } if _resu['contentType'] == 'building': print(_resu['fullName']) _street = result_search(_resu['parentGuid'], _resu["parents"])[0] site_name1 = ' '.join([replace_answer_fias(_street['typeShort']), _street['name'], _resu['name']]) site_name2 = transliterate(site_name1) site_name3 = site_name2.replace('/', '-') site_name4 = slugify(site_name3) site_desc1 = '. '.join([_street['typeShort'], _street['name']]) site_desc2 = ' '.join([site_desc1, _resu['name']]) region = nb.dcim.regions.filter(slug=session['region_slug'])[0] site_params = { "name": site_name2, "slug": site_name4, "region": region.id, "description": site_desc2, } try: nb.dcim.sites.create(**site_params) flash('Сайт создан успешно', category='success') except pynetbox.core.query.RequestError as ex: flash('Такой сайт уже существует', category='warning') else: flash('Такого дома в КЛАДРе нет.', category='warning') flash('Используем номер дома введенного вручную', category='warning') number_of_house = search.split(' ')[-1] _number_of_house = re.match('^\d+', number_of_house) if _number_of_house: _site_name_rus = ' '.join ([ _resu['typeShort'], _resu['name'], number_of_house ]) _site_name_trans = transliterate(_site_name_rus) _slug_eng = _site_name_trans.replace('/', '-') _slug_slugifyed = slugify(_slug_eng) _site_desc = '. '.join([ _resu['typeShort'], _resu['name'] ]) _site_desc2 = ' '.join([_site_desc, number_of_house]) region = nb.dcim.regions.filter(slug=session['region_slug'])[0] site_params = { "slug": _slug_slugifyed, "name": _site_name_trans, "region": region.id, "description": _site_desc2, } try: nb.dcim.sites.create(**site_params) flash('Сайт создан успешно', category='success') except: flash('Такой сайт уже существует', category='warning') else: flash('Вы неправильно ввели в поиске номер дома', category='danger') return render_template('sites/step4.html', nb_url=nb_url, data={'site_params': site_params} )