def translit(new): lang = transliterate.detect_language(new) if lang: new = transliterate.translit(new, reversed = True) new = cleaned_up_filename = re.sub(r"[\/\\\:\*\?\"\<\>\|]", "", new) new = new.strip() return new
def generate_russian_regions(self, session): self.print_status('Generating regions...') subject_types = { 'Респ': 'republic', 'обл': 'oblast', 'г': 'city', 'край': 'krai', 'АО': 'autonomous oblast/okrug' } russia = session.query(Country).filter_by(name='Russia').one() for r_info in regions_info: name = r_info['name'] code = r_info['regioncode'] name_tokens = name.split() try: region_type = subject_types[name_tokens[-1]] result_name = translit(' '.join(name_tokens[:-1]), 'ru', reversed=True) except: region_type = 'unknown' result_name = translit(name, 'ru', reversed=True) r = Region(name=result_name, type=region_type, code=code, country=russia) session.add(r) self.print_status('Done')
def transliterate(self, string, mode='2cyr'): """ """ new_string = "" if all(s in self.dgt for s in string): return string elif mode == '2cyr' and all(s in self.lat for s in string): return translit(string, 'ru') elif mode == '2lat' and all(s in self.cyr for s in string): return translit(string, 'en') else: return None
def test_data(input_list): city = translit(input_list[1], 'ru', reversed=True) street = translit(input_list[2], 'ru', reversed=True) house_number = str(int(input_list[3])) address = city+'/'+street+'/'+house_number q = address # get запрос к серверу для получения координат params = urllib.parse.urlencode({'format': 'json'}) url = "http://nominatim.openstreetmap.org/search/{1}?{0}".format(params, q) print(url) req = urllib.request.Request(url, headers={'User-Agent': 'super'}) _start_time = time.time() with urllib.request.urlopen(req) as res: time_1 = time.time() - _start_time print("Время выполнения GET запроса: {:.3f} с".format(time.time() - _start_time)) j = json.loads(res.read().decode('utf-8')) try: lat = j[0]['lat'] lon = j[0]['lon'] except IndexError: print('Out of range') except Exception: print(Exception) if len(j) == 0: return [input_list[0], 'Null response on step 1'] params = urllib.parse.urlencode({'lat': lat, 'lon': lon, 'format': 'json'}) url = "http://nominatim.openstreetmap.org/reverse?%s" % params print(url) # get запрос к сервену для поллучения адреса req = urllib.request.Request(url, headers={'User-Agent': 'super'}) _start_time = time.time() with urllib.request.urlopen(req) as f: time_2 = time.time() - _start_time print("Время выполнения GET запроса: {:.3f} с".format(time.time() - _start_time)) j = json.loads(f.read().decode('utf-8')) address = j['address'] new_house_number = address['house_number'] new_street = address['road'] new_city = address['city'] if len(j) == 0: return [input_list[0], 'Null response on step 2'] if new_city == input_list[4] and new_street == input_list[5] and int(new_house_number) == int(input_list[6]): result_status = 'done' else: result_status = 'Wrong response' result = [input_list[0], result_status, round(time_1, 3), round(time_2, 3)] return result
def __test_29_mappings(self): """ Testing mappings. """ for language_pack in get_available_language_packs(): print_('Testing language pack {0} {1}'.format(language_pack.language_code, language_pack.language_name)) print_('Reversed test:') for letter in language_pack.mapping[1]: print_(letter, ' --> ', translit(letter, language_pack.language_code, reversed=True)) print_('Normal test:') for letter in language_pack.mapping[0]: print_(letter, ' --> ', translit(letter, language_pack.language_code))
def create_categories(self, parent, categories): print "Creating for:", parent for i, c in enumerate(categories): m = Menu() m.parent = parent m.page_type = c['page_type'] m.title = c['title'] m.title_ru = c['title'] m.title_en = translit(c['title'], reversed=True) m.enabled = True m.url = slugify(translit(c['title'], reversed=True)) m.save() print "created:", m if 'categories' in c: self.create_categories(m, c['categories'])
def choose_right_ngram_url(word_given): """ :param word_given: string, of the keyword in ngram :return:string, url adress which can be used to download ngram, bigram specifically """ _first_two_letters_transliterated = transliterate.translit(word_given, "ru", reversed=True)[:2] return _BIGRAM_SOURCE + _first_two_letters_transliterated + _NGRAM_TYPE
def test_11_translit_ukrainian_cyrillic_to_latin(self): """ Test transliteration from Ukrainian Cyrillic to Latun. """ res = translit(self.ukrainian_cyrillic_text, 'uk', reversed=True) self.assertEqual(res, self.latin_text) return res
def test_07_translit_armenian_to_latin(self): """ Test transliteration from Armenian to Latin. """ res = translit(self.armenian_text, 'hy', reversed=True) self.assertEqual(res, self.latin_text) return res
def test_09_translit_greek_to_latin(self): """ Test transliteration from Greek to Latin. """ res = translit(self.greek_text, 'el', reversed=True) self.assertEqual(res, self.latin_text) return res
def test_08_translit_georgian_to_latin(self): """ Test transliteration from Georgian to Latin. """ res = translit(self.georgian_text, 'ka', reversed=True) self.assertEqual(res, self.latin_text) return res
def test_06_translit_latin_to_cyrillic(self): """ Test transliteration from Latin to Cyrillic. """ res = translit(self.latin_text, 'ru') self.assertEqual(res, self.cyrillic_text) return res
def test_06_translit_latin_to_ukrainian_cyrillic(self): """ Test transliteration from Latin to Ukrainian Cyrillic. """ res = translit(self.latin_text, 'uk') self.assertEqual(res, self.ukrainian_cyrillic_text) return res
def test_04_translit_latin_to_greek(self): """ Test transliteration from Latin to Greek. """ res = translit(self.latin_text, 'el') self.assertEqual(res, self.greek_text) return res
def __test_05_translit_latin_to_hebrew(self): """ Test transliteration from Latin to Hebrew. """ res = translit(self.latin_text, 'he') self.assertEqual(res, self.hebrew_text) return res
def test_02_translit_latin_to_armenian(self): """ Test transliteration from Latin to Armenian. """ res = translit(self.latin_text, 'hy') self.assertEqual(res, self.armenian_text) return res
def test_03_translit_latin_to_georgian(self): """ Test transliteration from Latin to Georgian. """ res = translit(self.latin_text, 'ka') self.assertEqual(res, self.georgian_text) return res
def test_06_translit_latin_to_bulgarian_cyrillic(self): """ Test transliteration from Latin to Bulgarian Cyrillic. """ res = translit(self.latin_text, 'bg') self.assertEqual(res, self.bulgarian_cyrillic_text) return res
def opener(): dict_lines = {} # массив названий файлов для записи в zip файл files_name = [] for root, dirs, files in os.walk(UPLOAD_FOLDER): for file in files: files_name.append(file) with open(root+"/"+file, 'rt', encoding='utf-8') as r: spam_reader = csv.reader(r) n = 0 for row in spam_reader: if len(row) > 0: # транслитерируем и записывам в dict dict_lines[n] = translit(row[0], 'ru', reversed=True) n += 1 with open(APP_STATIC+'/for_load/'+file, "w", encoding='utf-8') as wr: # из dict пишем в новый .csv файл write_file = csv.writer(wr, quoting=csv.QUOTE_MINIMAL, delimiter=';') for line in dict_lines.values(): iter_line = line.split(';') write_file.writerow(iter_line) dict_lines = {} # создаём zip файл со всеми изменёнными файлами with zipfile.ZipFile(APP_STATIC+'/zip/files.zip', 'w') as zip_file: for file in files_name: path = APP_STATIC+'/for_load/'+file zip_file.write(path, basename(path))
def __test_10_translit_hebrew_to_latin(self): """ Test transliteration from Hebrew to Latin. """ res = translit(self.hebrew_text, 'he', reversed=True) self.assertEqual(res, self.latin_text) return res
def test_11_translit_bulgarian_cyrillic_to_latin(self): """ Test transliteration from Bulgarian Cyrillic to Latin. """ res = translit(self.bulgarian_cyrillic_text, 'bg', reversed=True) self.assertEqual(res, self.latin_text) return res
def test_06_translit_latin_to_mongolian_cyrillic(self): """ Test transliteration from Latin to Mongolian Cyrillic. """ res = translit(self.latin_text, 'mn') self.assertEqual(res, self.mongolian_cyrillic_text) return res
def test_11_translit_mongolian_cyrillic_to_latin(self): """ Test transliteration from Mongolian Cyrillic to Latin. """ res = translit(self.mongolian_cyrillic_text, 'mn', reversed=True) self.assertEqual(res, self.latin_text) return res
def make_filename(collection_name, title, idx=None): if idx: idx = "-" + str(idx) else: idx = "" out_filename = filter_valid_path(translit(collection_name, 'uk', reversed=True)) + "/" + filter_valid_path(translit(title, 'uk', reversed=True).replace('/', '_')[:64]) + idx + ".txt" return out_filename
def post(self): new_room_name = self.get_argument("new_room") room = yield tornado.gen.Task( self.db.rooms.find_one, {'name': new_room_name}) if not isinstance(room[0][0], dict): room_to_add = {} if re.match(u"^[А-Яа-я _-]*$", new_room_name, re.UNICODE): new_room_to_use = translit( new_room_name, 'ru', reversed=True).replace(' ', '_') else: new_room_to_use = new_room_name.replace(' ', '_') room_to_add["name"] = new_room_to_use room_to_add["name_to_show"] = new_room_name room_to_add["users"] = [] room_to_add["messages"] = [] yield tornado.gen.Task(self.db.rooms.insert, room_to_add) yield tornado.gen.Task( self.db.rooms_list.update, {'name': 'room'}, {'$push': {'rooms_list': [new_room_to_use, new_room_name]}} ) new_url = "/room/" + new_room_to_use self.redirect(new_url) else: new_url = "/room/" + new_room_name.replace(' ', '_') self.redirect(new_url)
def nameCompare(persons, percentage = float(0.50)): global total, totalcorrect for person in persons: en = person.en_name.split(" ") ru = person.ru_name.split(" ") ru = [stripAccentMark(name) for name in ru] #translit_ru = [translit(name, "ru") for name in en] # Transliterate russian name to english name translit_en = [translit(name.encode("utf-8").decode("utf-8"), \ reversed = True) for name in ru] total += len(en) # Print name in english and russian yield u"\n%s (EN) %s (RU) " % (" ".join(en), " ".join(ru)) for en_litname in translit_en: for en_name in en: diff = jaccardIdx(en_name, en_litname) if diff <= percentage: if diff == 0.0: totalcorrect += 1 yield u":: (EN orig) %s <==> (EN lit) %s (%.2f)" % (en_name, \ en_litname, diff)
def save(self, *args, **kwargs): if self.title: # TODO: 'uk' parameter should be changed in case of extra locale transliterated = translit(self.title, 'uk', reversed=True) self.slug = slugify(transliterated).replace('-', '_') super(Service, self).save(*args, **kwargs)
def sendemail(email_receivers, text): try: for i in email_receivers: subj = 'Полихимстрой. Заявка.' subj = translit(subj.decode('utf-8'), 'ru', reversed=True) me = '*****@*****.**' you = i text = text subj = subj server = 'smtp.fullspace.ru' port = 25 user_name = '*****@*****.**' user_passwd = 'tzkpolihimstroy115648' msg = MIMEText(text) msg['Subject'] = subj msg['From'] = me msg['To'] = you s = smtplib.SMTP(server) s.ehlo() s.starttls() s.ehlo() s.login(user_name, user_passwd) s.sendmail(me, you, msg.as_string()) s.quit() return True except: return False
def song_rebase(self): playlists = self.library.getPlaylistNames() for playlist in playlists: playlist_match = self.playlist_re.search(playlist) if playlist_match: disk_number = playlist_match.group('disk') disk_folder = "{0}CD{1}/".format(self.structure_path, disk_number) print "Заполняем структуру по плейлисту \'{0}\' как диск {1} с {2} композицией(ями)".format(playlist, disk_number, len(self.library.getPlaylist(playlist).tracks)) if not os.path.isdir(disk_folder): os.makedirs(disk_folder, 0755) else: filelist = [f for f in os.listdir(disk_folder) if f.endswith(".mp3")] for f in filelist: os.remove("{0}/{1}".format(disk_folder, f)) for song in self.library.getPlaylist(playlist).tracks: print " Перемещаем #{2} [{0} - {1}]".format(song.artist, song.name, song.playlist_order) file_cache = "{0}{1}.mp3".format(self.cache_path, song.track_id) file_name = self.make_safe_filename( translit("{0}_{1} - {2}.mp3".format(song.playlist_order, song.artist, song.name), language_code="ru", reversed=True)) file_structure = "{0}{1}".format(disk_folder, file_name) shutil.copyfile(file_cache, file_structure)
def replacer(word): search_word = translit(word, 'mn') if u"ө" in search_word: search_word_regex = search_word.replace(u"ө", u"[өүу]") search_word_regex_reform = "^" + search_word_regex + '$' found_or_not = [item for i, item in enumerate(data) if re.search(search_word_regex_reform, item)] if found_or_not: return found_or_not[0] else: return search_word elif u"у" in search_word: search_word_regex = search_word.replace(u"у", u"[өүу]") search_word_regex_reform = "^" + search_word_regex + '$' found_or_not = [item for i, item in enumerate(data) if re.search(search_word_regex_reform, item)] if found_or_not: return found_or_not[0] else: return search_word elif u'үү' == search_word: return u'уу' elif u"ү" in search_word: search_word_regex = search_word.replace(u"ү", u"[өүу]") search_word_regex_reform = "^"+search_word_regex+'$' found_or_not = [item for i, item in enumerate(data) if re.search(search_word_regex_reform, item)] if found_or_not: return found_or_not[0] else: return search_word else: return search_word
from transliterate import translit from num2words import num2words print( translit( ''' Ladies and gentlemen, I'm 78 years old and I finally got 15 minutes of fame once in a lifetime and I guess that this is mine. People have also told me to make these next few minutes escruciatingly embarrassing and to take vengeance of my enemies. Neither will happen. More than 3 years ago I moved to Novo-Novsk, but worked on new Magnetic Storage for last 40. When I was 8... ''', 'ru')) print(78, translit(num2words(78), 'ru'), sep=' - ') print(15, translit(num2words(15), 'ru'), sep=' - ') print(3, translit(num2words(3), 'ru'), sep=' - ') print(40, translit(num2words(40), 'ru'), sep=' - ') print(8, translit(num2words(8), 'ru'), sep=' - ')
def akaMain(argv): dict_plotn = dict() #base_link = 'https://www.calc.ru/kurs-USD-RUB.html' base_link = 'https://www.calc.ru' response = urllib.request.urlopen(base_link) html_doc = response.read() sys.exit(0) soup = BeautifulSoup(html_doc, 'html.parser') #<div class="main_block"> # <div class="content"> # <div itemprop="articleBody"> # <table cellpadding="0" cellspacing="0" width="100%"> # <tr> # <td align="left" valign="top" colspan="3"> # <h2>Доллар США в рублях на сегодня:</h2><br><center> # <div class="t18"> # <b>1 доллар США (USD)</b> равняется # <b>64.73 российский рубль (RUB)</b><br> # <b>1 российский рубль (RUB)</b> равняется # <b>0.015448 доллар США (USD)</b> # <br><div></center> for main_block_item in soup.find_all('div', attrs = {'class': 'main_block'}): for content_item in content.find_all('div', attrs = {'class': 'content'}): for articleBody_item in content_item.find_all('div', attrs = {'class': 'articleBody'}): for table_item in articleBody_item.find_all('table'): for tr_item in table_item.find_all('tr'): for td_item in tr_item.find_all('td'): for b_item in td_item.find_all('b'): if None != b_item: a_txt = b_item.text.strip() title_txt = '' print ('b_txt=',translit(a_txt,'ru', reversed=True)) ##print (soup)table class="standard sortable #for sortable_item in soup.find_all('table', attrs = {'class': "standard sortable"}): # # # #print ('sortable_item',sortable_item) # for tr_item in sortable_item.find_all('tr'): # #print ('tr_item',translit(tr_item,'ru', reversed=True)) # #print ('tr_item',tr_item) # # b_item = tr_item.find('b') # if None != b_item: # a_txt = b_item.text.strip() # title_txt = '' # #print ('b_txt=',translit(a_txt,'ru', reversed=True)) # else: # a_item = tr_item.find('a') # title_txt = a_item.get('title') # #if None != title_txt: # # #print ('title_txt',title_txt) # # #print ('title_txt',translit(title_txt,'ru', reversed=True)) # # ##print ('a_item',a_item['title']) # a_txt = a_item.text.strip() # #print ('a_txt',translit(a_txt,'ru', reversed=True)) # # # # # # # # #print ('---------------------------------------------') # i = 0 # line = '' # for td_item in tr_item.find_all('td'): # i += 1 # # txt = td_item.text.strip().replace(',','.') # # dig = to_digit(txt) # #print (i,'td_item',dig,translit(txt,'ru', reversed=True)) # #print (i,'td_item',dig) # # # if i == 8: # line += dig + ',' # #line = nn # dict_plotn[a_txt] = title_txt + ',' + line # print (translit(a_txt,'ru', reversed=True),':',\ # translit(dict_plotn[a_txt],'ru', reversed=True)) # continue # # line += dig + ',' # # #print ("===========================================") ##print ("dict_plotn=") ##pprint(dict_plotn) # #Handle_write_all_csv(\ # 0, # dict_plotn) # #Handle_write_all_csv(\ # 1, # dict_plotn) print ('*********************************************') print ('*********************************************') print ('*********************************************') sys.exit(0)
from transliterate import translit from num2words import num2words speech = """Ladies and gentlemen, I'm 78 years old and I finally got 15 minutes of fame once in a lifetime and I guess that this is mine. People have also told me to make these next few minutes escruciatingly embarrassing and to take vengeance of my enemies. Neither will happen. More than 3 years ago I moved to Novo-Novsk, but worked on new Magnetic Storage for last 40. When I was 8...""" print(translit(speech, 'ru')) print() print('78 - ' + translit(num2words(78), 'ru')) print('15 - ' + translit(num2words(15), 'ru')) print('3 - ' + translit(num2words(3), 'ru')) print('40 - ' + translit(num2words(40), 'ru')) print('8 - ' + translit(num2words(8), 'ru'))
def save(self, force_insert=False, force_update=False, using=None, update_fields=None): self.indexlevel2url = slugify(translit(self.indexlevel2ru, 'ru', reversed=True)) super(EsmiIndexLevel2, self).save(force_insert=False, force_update=False, using=None, update_fields=None)
# We can rename columns. # In[11]: #! pip install transliterate import transliterate #numerics = numerics.rename(columns=lambda x: x+'x') # Добавит х к названиям стоблцов numerics = data.copy() result = [] # созадем серию чтобы к ней прибалять result.append(col) for col in numerics.columns: col = col.replace(' ', '_')[:15] col = col.replace('-', '_') col = col.replace('ь', '') col = col.replace('ъ', '') col = transliterate.translit(col, 'ru', reversed=True) result.append(col) numerics.columns = result numerics.columns # In[12]: # для боевых задач быстрее так #data.columns = ['A' + str(i) for i in range(1, 16)] + ['class'] # ### Remove the emissions # In[13]: data.columns
def save(self, force_insert=False, force_update=False, using=None, update_fields=None): self.tag_url = slugify(translit(self.tag, 'ru', reversed=True)) super(EsmiTags, self).save(force_insert=False, force_update=False, using=None, update_fields=None)
def save(self, force_insert=False, force_update=False, using=None, update_fields=None): self.editionname_url = slugify(translit(self.editionname_ru, 'ru', reversed=True)) super(EsmiEditionNames, self).save(force_insert=False, force_update=False, using=None, update_fields=None)
return True except ValueError: return False #num_removed = ''.join('' if is_digit(w) else w for w in reformed) new_line = [] for w in reformed.split(): if not is_digit(w): new_line.append(w) num_removed = " ".join(new_line) print(num_removed) # retain lowercase and special characters # using transliterate print(get_available_language_codes()) line = translit(line, reversed=True) line = line.lower() print(line) # using user-defined dict cedilla2latin = [[u'Á', u'A'], [u'á', u'a'], [u'Č', u'C'], [u'č', u'c'], [u'Š', u'S'], [u'š', u's']] tr = dict([(a[0], a[1]) for (a) in cedilla2latin]) print(tr) def transliterate(line): translated = "" for letter in line: if letter in tr: translated += tr[letter] else: translated += letter
def pre_save_category_slug(sender, instance, *args, **kwargs): if not instance.slug: slug = slugify(translit(str(instance.name), reversed=True), allow_unicode=True) instance.slug = slug
def pre_save_categories_slug(sender, instance, *args, **kwargs): slug = slugify(translit(str(instance.name), reversed=True)) instance.slug = slug
def upload_location(instance, filename): return "%s/%s" % ('files', translit(filename, 'ru', reversed=True))
stations = dict() stations[0] = u"Новокузнецк" stations[23] = u'Осинники' stations[55] = u'Малиновка' stations[108] = u'Апхун (на ветке)' stations[198] = u'Таштагол' # You can get kilometers from OpenStreetMap under open license at #http://brouter.de/brouter-web/#map=10/55.5838/37.2927/standard,HikeBike.HillShading&lonlats=37.581269,55.777273;36.881192,55.700614&profile=rail #transliterate station names #may be replaced to load dataset with official latin names from transliterate import translit, get_available_language_codes for id in stations: stations[id] = stations[id] + "\n" + translit( stations[id], 'ru', reversed=True) # Timezones # In most cases, you do not need to use timezones, type times in local time # If line is so long as Baikal-Amur mainline, # type times in standart time (Moscow), and type timedelta here (Moscow + 6 hours) #TIMEZONE is MSK time_add = datetime.timedelta(hours=0) # Type train numbers or IDs here. # numbers can be numeric or string, and converted to string later. trainnumbers = (6042, 6044, 6046, 6052, 6054, 6056, 6060) for id in trainnumbers:
def to_python(self, value): return translit(re.sub(r'[\+\_\.\,]', '-', value.lower()), 'ru', reversed=True).replace('\'', '')
def transliteration(bot, update): # функция транслитерации if detect_language(update.message.text, num_words=7) == 'ru': lang_bool = True else: lang_bool = False update.message.reply_text(translit(update.message.text, 'ru', lang_bool))
def slugify(s): if not is_latin(s): s = translit(s, reversed=True) s = s.replace('\'', '') return re.sub('[^\w]+', '-', s).lower()
def akaMain(argv): dict_plotn = dict() ### base_link = 'https://ru.wikipedia.org/wiki/%D0%9F%D0%BB%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0%D1%81%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D1%83%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B9_%D0%A4%D0%B5%D0%B4%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8' base_link = 'https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D0%BE%D0%B2_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8_%D1%81_%D1%82%D0%B5%D1%80%D1%80%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%B9_%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B5_100_%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D1%85_%D0%BA%D0%B8%D0%BB%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2' response = urllib.request.urlopen(base_link) html_doc = response.read() soup = BeautifulSoup(html_doc, 'html.parser') #print (soup) for sortable_item in soup.find_all('table', attrs = {'class': "wikitable sortable"}): #print ('sortable_item',sortable_item) for tr_item in sortable_item.find_all('tr'): #print ('tr_item',translit(tr_item,'ru', reversed=True)) #print ('tr_item',tr_item) print ('---------------------------------------------') i = 0 line = '' for td_item in tr_item.find_all('td'): i += 1 #print ('td_item',td_item.text.strip()) #print ('th_item',translit(th_item,'ru', reversed=True)) #itle = '' #if 'title' in td_item: # title = td_item[title] txt = td_item.text.strip().replace(',','.') print (i,'td_item',translit(txt,'ru', reversed=True)) #sys.exit(0) #continue if i == 1: nn = txt continue elif i == 2: if '(' in txt: tttt_list = txt.split('(') txt = tttt_list[0] txt = txt.strip().lstrip() key = txt #dict_plotn[key] = line continue elif i == 3: if '—' in txt: t_list = txt.split('—') txt = t_list[0] if '*' in txt: tt_list = txt.split('*') txt = tt_list[0] if '[' in txt: ttt_list = txt.split('[') txt = ttt_list[0] txt = txt.strip().lstrip() line += ',,' + txt + ',,' line += nn dict_plotn[key] = line #print (translit(key,'ru', reversed=True),\ # translit(dict_plotn[key],'ru', reversed=True)) continue line += txt + ',' print ("===========================================") print ("dict_plotn=") pprint(dict_plotn) ### ### #for a_item in td_item.find_all('a'): ### # #print ('a_item',a_item.text.strip()) ### # print ('a_item',translit(a_item.text.strip(),'ru', reversed=True)) ### ### ### #for th_item in sortable_item.find_all('th'): ### # print ('th_item',th_item) ### # #print ('th_item',translit(th_item,'ru', reversed=True)) ### Handle_write_all_csv(\ 0, dict_plotn) Handle_write_all_csv(\ 1, dict_plotn) print ('*********************************************') print ('*********************************************') print ('*********************************************') sys.exit(0)
def pre_save_new(sender, instance, *args, **kwargs): if not instance.slug: slug = slugify(translit(instance.title, 'ru', reversed=True)) instance.slug = slug
def rusification(word): if not rus_or_en(word): #если слово английское word = translit(word, 'rus') return word
import transliterate inp = "fio.txt" out = "script.txt" pass_list = "pass_list.txt" group_list = {} with open(inp, encoding="utf-8") as fh: for line in fh: print(line) fio = line.replace("\n", "") line = line.replace("\n", "").split(" ")[0] line = transliterate.translit(line, reversed=True) line = line.replace("'", "") group_list[fio] = line print(group_list) for key in group_list: fio = key surname = group_list[key] password = "".join(list(surname)[::-1]) try: fh = open(pass_list, "a+", encoding="utf-8") fh.write("{} Логин: {} Пароль: {}".format(fio, surname, password)) fh.write("\n") finally: if fh: fh.close() try:
def creation(request): if request.user.is_authenticated: def handle_uploaded_file(f, url): try: makedirs('static/wall/res/' + url + '/images/') except: pass with open('static/wall/res/' + url + '/images/' + str(f), 'wb+') as destination: for chunk in f.chunks(): destination.write(chunk) def handle_uploaded_files(set_of_images, url): j = 0 print(len(set_of_images)) for image in set_of_images: with open( 'static/wall/res/' + url + '/images/' + str(j) + '.jpg', 'wb+') as destination: for chunk in image.chunks(): destination.write(chunk) j += 1 return j def create_new_post(d, n): def create_new_images(pk, url, number): for i in range(n): img = Image(name=str(i), image_link='/static/wall/res/' + url + '/images/' + str(i) + '.jpg', post=new_post) img.save() new_post = Post(title=d['title'], short_url=d['short_url'], pub_date=d['pub_date'], description=d['description'], main_image_link=d['main_image_link']) new_post.save() create_new_images(new_post, d['short_url'], n) try: post = dict() post['title'] = request.POST['title'] post['short_url'] = sub( r"'[,.\\ ]", '', translit(post['title'], 'ru', reversed=True).lower()) post['pub_date'] = request.POST['date'] post['description'] = request.POST['description'] post['main_image_link'] = '/wall/res/' + post[ 'short_url'] + '/images/' + str(request.FILES['file']) handle_uploaded_file(request.FILES['file'], post['short_url']) number_of_images = handle_uploaded_files( request.FILES.getlist('images'), post['short_url']) create_new_post(post, number_of_images) return render(request, 'wall/creation.html', {'msg': 'Новый пост опубликован успешно'}) except KeyError as err: return render(request, 'wall/creation.html', {'msg': 'Возникла ошибка: %s' % err }) # TODO delete the error message for first use else: return HttpResponse('You can not do this')
def insert_new_data(): engine = db.create_engine('mysql+pymysql://root:''@localhost/guzanov?charset=utf8mb4&binary_prefix=true') connection = engine.connect() metadata = db.MetaData() wp_users = db.Table('wp_users', metadata, db.Column('Id', db.Integer(), primary_key=True), db.Column('user_login', db.String(60), unique=True), db.Column('user_pass', db.String(255)), db.Column('user_nicename', db.String(50), unique=True), db.Column('user_email', db.String(100), unique=True), db.Column('user_url', db.String(100), default=''), db.Column('user_registered', db.DateTime()), db.Column('user_activation_key', db.String(255)), db.Column('user_status', db.Integer(), default=0), db.Column('display_name', db.String(250)) ) wp_posts = db.Table('wp_posts', metadata, db.Column('Id', db.Integer()), db.Column('post_author', db.Integer(), default=0), db.Column('post_date', db.DateTime(), default='0000-00-00 00:00:00'), db.Column('post_date_gmt', db.DateTime(), default='0000-00-00 00:00:00'), db.Column('post_content', db.TEXT, default=''), db.Column('post_title', db.TEXT, default=''), db.Column('post_excerpt', db.TEXT, default=''), db.Column('post_status', db.String(20), default='publish'), db.Column('comment_status', db.String(20), default='open'), db.Column('ping_status', db.String(20), default='open'), db.Column('post_password', db.String(255)), db.Column('post_name', db.String(200), unique=True), db.Column('to_ping', db.TEXT, default=''), db.Column('pinged', db.TEXT, default=''), db.Column('post_modified', db.DateTime(), default='0000-00-00 00:00:00'), db.Column('post_modified_gmt', db.DateTime(), default='0000-00-00 00:00:00'), db.Column('post_content_filtered', db.TEXT, default=''), db.Column('post_parent', db.Integer(), default=0), db.Column('guid', db.String(255)), db.Column('menu_order', db.Integer(), default=0), db.Column('post_type', db.String(20), default='post'), db.Column('post_mime_type', db.String(100), default=''), db.Column('comment_count', db.Integer(), default=0), ) wp_terms = db.Table('wp_terms', metadata, db.Column('term_id', db.Integer(), default=0), db.Column('name', db.String(200), default='post'), db.Column('slug', db.String(200), default='post'), db.Column('term_group', db.Integer(), default=0), ) wp_term_relationships = db.Table('wp_term_relationships', metadata, db.Column('object_id', db.Integer(), default=0), db.Column('term_taxonomy_id', db.Integer(), default=0), db.Column('term_order', db.Integer(), default=0) ) # ----- запускаю цикл який потрібно! ----- # for item in select_old_data('jos_users'): # query = db.insert(wp_users).values( # user_login=item[2], # user_pass='******', # user_nicename=item[1], # user_email=item[3], # user_registered=item[9], # user_activation_key=item[11], # display_name=item[2] # ) # connection.execute(query) for item in select_old_data('jos_content'): query = db.insert(wp_posts).values( Id=item[0], post_author=item[10], post_date=item[16], post_content=item[4], post_title=item[1], post_name=transliterate.translit(re.sub("[@#$!?',.]", "", re.sub(" +", "-", item[1])), reversed=True), post_modified=item[12], post_parent=item[22], ) connection.execute(query)
if cursor: sql = '''SELECT DIP.id,CONCAT_WS(" ", CONCAT("AK-", DC.fio), CONCAT("BS", DB.base, " ", DB.address), CONCAT("RRL-Master ", DRL1.comments), CONCAT("RRL-Slave ", DRL2.comments)) FROM devices_ip_addresses DIP LEFT JOIN devices_bases DB ON DIP.id = DB.ip_id LEFT JOIN devices_complekts DC ON DIP.id = DC.ip_id LEFT JOIN devices_rrl DRL1 ON DIP.id = DRL1.ip_id_master LEFT JOIN devices_rrl DRL2 ON DIP.id = DRL2.ip_id_slave WHERE ip = "%s"''' % host['host'] try: cursor.execute(sql) for row1, row2 in cursor: #print ('tut2',row2.decode('utf8'),host['host']) if row2: # не пустое kurs_name = (translit(row2.decode('utf8'), 'ru', reversed=True)) print(kurs_name, host['host']) new_kurs_name = re.search('\d+.\d+.(\d+.\d+)', host['host']) new_kurs_name = new_kurs_name.group( 1) + '_' + kurs_name zabbix_connect.host.update(hostid=host['hostid'], name=new_kurs_name) zabbix_connect.hostgroup.massadd( groups='107', hosts=host['hostid']) except MySQLdb.Error as error: print('MySQL SELECT error {}'.format(error)) # print (translit(i['name'],'ru',reversed=True))
from num2words import num2words from transliterate import translit from gtts import gTTS speech = '''Ladies and gentlemen, I'm 78 years old and I finally got 15 minutes of fame once in a lifetime and I guess that this is mine. People have also told me to make these next few minutes escruciatingly embarrassing and to take vengeance of my enemies. Neither will happen. More than 3 years ago I moved to Novo-Novsk, but worked on new Magnetic Storage for last 40. When I was 8...''' speech_translit = translit(speech, 'ru') ttseng = gTTS(speech, lang='en') ttseng.save = ('speech.mp3') print(speech_translit) print('78', translit(num2words(78), 'ru'), sep=' - ') print('15', translit(num2words(15), 'ru'), sep=' - ') print('3', translit(num2words(3), 'ru'), sep=' - ') print('40', translit(num2words(40), 'ru'), sep=' - ') print('8', translit(num2words(8), 'ru'), sep=' - ')
def transliterate(text: str) -> str: """Transliterate given text""" return translit(text, 'ru', reversed=True)
def transliterator(original_text, param): translit_text = translit(original_text, 'ru', reversed=param) return translit_text
def pre_save_category_slug(sender, instance, *args, **kwargs): if not instance.slug: slug = slugify(translit(instance.name, reversed=True)) instance.slug = slug
try: for to_trans in to_trans_dsets: done_word = False while not done_word: data = os.popen( "proxychains -q trans -no-auto -b -t=af+sq+am+ar+be+hy+az+ba+eu+bn+bs+bg+yue+ca+ceb+ny+zh-CN+co+hr+cs+da+nl+mhr+emj+eo+et+fj+tl+fi+fr+fy+gl+ka+de+el+gu+ht+ha+haw+he+mrj+hi+hmn+id+mww+hu+is+ig+ga+it+ja+jv+kn+kk+km+tlh+th-Qaak+ko+ku+ky+lo+la+lv+lt+lb+mk+mg+ms+ml+mt+mi+mr+mn+my+ne+no+pap+ps+fa+pl+pt+pa+otq+ro+sr-Latn+ru+sm+gd+sr-Cyrl+st+sn+sd+si+sk+sl+so+es+su+sw+sv+ty+tg+ta+tt+te+th+to+tr+udm+uk+ur+uz+vi+cy+xh+yi+yo+yua+zu \"{0}\"" .format(to_trans)).read() if bool(data.replace("\n", "")): lang_dat = data.split("\n")[:-1] for _dat in lang_dat: try: cc = unidecode(u"{0}".format(_dat)) except: cc = translit(u"{0}".format(_dat), reversed=True) alpha_filter = "".join( filter(lambda x: str(x).isalpha(), str(cc))) #print(_dat, alpha_filter) if count_res(_dat) > 7: os.system("service tor restart") continue with open(o_paths[0] + "/{0}".format(to_trans), "a") as f: f.write(_dat + "\n") with open(o_paths[1] + "/{0}".format(to_trans), "a") as f:
def id_attributes(fixture_value): return translit(fixture_value.description, "ru", reversed=True)
from transliterate import translit speech = '''Ladies and gentlemen, I'm 78 years old and I finally got 15 minutes of fame once in a lifetime and I guess that this is mine. People have also told me to make these next few minutes escruciatingly embarrassing and to take vengeance of my enemies. Neither will happen. More than 3 years ago I moved to Novo-Novsk, but worked on new Magnetic Storage for last 40. When I was 8...''' print(translit(speech, 'ru'))
def selfData(dict): xerox.copy(dict['lastname']) pyautogui.doubleClick(400, 307) # set cursor on Familiya pyautogui.hotkey('ctrl', 'v') copyPaste(dict['name']) # type Name copyPaste(dict['surname']) # type surname pyautogui.press('tab') if personalData['gender'] == 'Муж.': pyautogui.press('left') # set male else: pyautogui.press('right') # set female copyPaste(translit(dict['name'], 'ru', reversed=True)) # type latin Name copyPaste(translit(dict['lastname'], 'ru', reversed=True)) # type latin LastName pyautogui.click(318, 505) # set cursor on Резиденство pyautogui.hotkey('home') pyautogui.press('down') pyautogui.press('enter') pyautogui.press('tab') # set date of birthday for i in range(3): pyautogui.typewrite(personalData['age'][i]) ################################## DUL ##################### print('Wait pls:', end=' ') pyautogui.click(190, 890) # click on deactivate button for i in range(15, 0, -1): print(i, end=' ') pyautogui._autoPause(1, 1) print('') pyautogui.click(380, 690) # click on type of dockument pyautogui.press('down') pyautogui.press('enter') pyautogui.press('tab') copyPaste(dict['passport']) # type passport copyPaste('МОСКОВСКИЙ РОВД Г.БРЕСТА') # type who took pyautogui.press('tab') pyautogui.typewrite('05032001') # type date out of document pyautogui.press('tab') pyautogui.typewrite('06032025') # type who took ################################## BirthPlace ##################### pyautogui.press('tab') pyautogui.hotkey('home') pyautogui.press('down') pyautogui.press('enter') for i in range(3): pyautogui.press('tab') copyPaste('БРЕСТ') # type City ################################## REGISTRATION ##################### pyautogui.press('tab') # country # pyautogui.hotkey('home') # pyautogui.press('down') # pyautogui.press('enter') # # print('Wait...5 sec') # pyautogui._autoPause(5, 1) pyautogui.press('tab') pyautogui.typewrite('224002') # type index copyPaste('БРЕСТСКАЯ') # type область copyPaste('ЮЖНЫЙ') # type район pyautogui.press('tab') copyPaste('БРЕСТ') # type City pyautogui.press('tab') copyPaste('МОСКОВСКАЯ') # type street pyautogui.press('tab') pyautogui.typewrite('13') # building pyautogui.press('tab') pyautogui.typewrite('4') # корпус pyautogui.press('tab') pyautogui.typewrite('6') # house ################################## LIVING PLACE ##################### pyautogui.press('tab') pyautogui.press('space') # аналочно месту регистрации pyautogui._autoPause(1, 1) ################################## CONTACT ##################### pyautogui.press('tab') for i in range(5): pyautogui.typewrite(personalData['mobile']) # mobile phone pyautogui.press('tab') copyPaste(personalData['email']) # type street