Beispiel #1
1
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
Beispiel #2
0
    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')
Beispiel #3
0
 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
Beispiel #4
0
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
Beispiel #5
0
    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'])
Beispiel #7
0
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
Beispiel #8
0
 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
Beispiel #9
0
 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
Beispiel #10
0
 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
Beispiel #11
0
 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
Beispiel #12
0
 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
Beispiel #13
0
 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
Beispiel #14
0
 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
Beispiel #15
0
 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
Beispiel #16
0
 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
Beispiel #17
0
 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))
Beispiel #20
0
 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
Beispiel #24
0
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
Beispiel #25
0
 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)
Beispiel #26
0
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)
Beispiel #27
0
    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)
Beispiel #28
0
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
Beispiel #29
0
    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)
Beispiel #30
0
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
Beispiel #31
0
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=' - ')
Beispiel #32
0
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)
Beispiel #33
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'))

Beispiel #34
0
 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)
Beispiel #35
0
# 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
Beispiel #36
0
 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)
Beispiel #37
0
 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
Beispiel #39
0
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
Beispiel #40
0
def pre_save_categories_slug(sender, instance, *args, **kwargs):
    slug = slugify(translit(str(instance.name), reversed=True))
    instance.slug = slug
Beispiel #41
0
def upload_location(instance, filename):
    return "%s/%s" % ('files', translit(filename, 'ru', reversed=True))
Beispiel #42
0
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:
Beispiel #43
0
 def to_python(self, value):
     return translit(re.sub(r'[\+\_\.\,]', '-', value.lower()),
                     'ru',
                     reversed=True).replace('\'', '')
Beispiel #44
0
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))
Beispiel #45
0
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
Beispiel #48
0
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:
Beispiel #50
0
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')
Beispiel #51
0
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)
Beispiel #52
0
            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))
Beispiel #53
0
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=' - ')
Beispiel #54
0
def transliterate(text: str) -> str:
    """Transliterate given text"""
    return translit(text, 'ru', reversed=True)
Beispiel #55
0
def transliterator(original_text, param):
    translit_text = translit(original_text, 'ru', reversed=param)
    return translit_text
Beispiel #56
0
def pre_save_category_slug(sender, instance, *args, **kwargs):
    if not instance.slug:
        slug = slugify(translit(instance.name, reversed=True))
        instance.slug = slug
Beispiel #57
0
    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:
Beispiel #58
0
def id_attributes(fixture_value):
    return translit(fixture_value.description, "ru", reversed=True)
Beispiel #59
0
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'))
Beispiel #60
0
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