summaryrefslogtreecommitdiff
path: root/python/test.py
blob: 4c5a361bb219c3eaccff28e1fff410234e12e03d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# letters-only translation to key-pressed characters (latin)
# ---
def kbLatinLetter( txt ) :
    maTable = txt.maketrans(
        "ςερτυθιοπασδφγηξκλζχψωβνμΕΡΤΥΘΙΟΠΑΣΔΦΓΗΞΚΛΖΧΨΩΒΝΜάέήίόύώϊϋΆΈΉΊΌΎΏΪΫ",
        "sertyuiopasdfghjklzxcvbnmertyuiopasdfghjklzxcvbnmaehioyviyaehioyviy"
    )
    return txt.translate(maTable).lower()


# mark a link to a text
# conecting them with a dash/minus character
# ---
def markLink(lws, text) :
    text_kb = kbLatinLetter(text.replace(' ', '-'))
    lws_kb  = kbLatinLetter(lws)
    try:
        index_l = text_kb.lower().index(lws_kb.lower())
    except:
        return text
    else:
        return text[:index_l] + lws + text[index_l + len(lws):]


# text after "all-links" marked
# ---
def linksMarked(text) :
    allinked = [
        'Χωρίς-Ζάχαρη',
        'COCA-COLA',
        'Χωρίς-Αλάτι'
    ]
    for lw in allinked :
        text = markLink( lw, text )
    
    return text


# example
# ---
products = [
    "Μπάρες δημητριακών Nestle χωρίς ζάχαρη 2+1 δώρο",
    "Coca Cola Zero χωρίς ζάχαρη 300ml",
    "Καφές ΠΑΠΑΓΑΛΟΣ ΛΟΥΜΙΔΗΣ 100gr Κλασσικός",
    "Μουσακάς μερίδα 300gr χωρίς αλάτι",
    "Bic Metal ξυραφάκια 8+2 δώρο"
]


synonyms = []
synonymOriginals = [
    'μπίρα μπύρα μπίρες μπύρες',
    'αυγά αβγά αυγό αβγό',
    'σίκαλης σικάλεως',
    'ξηρά ξερά',
    'ρολό ρολλό'
    'coca-cola cocacola coke',
    'χαρτί-υγείας ρολό-υγείας χαρτί-τουαλέτας',
    'χαρτί-κουζίνας ρολό-κουζίνας',
    'οινος κρασι',
    'ΚΑΤΣΕΛΗΣ ΚΑΤΣΕΛΗ',
    'DR-OETKER OETKER',
    'DR.BECKMANN BECKMANN',
    'NES-CAFE NESCAFE',
    'Ολικής-Άλεσης Ολικής-Aλέσεως',
    'τσίπουρο ρακή'
]
for group in synonymOriginals :
    words = group.split()
    syns = []
    for w in words :                # for every word in group of synonyms
        w_kb = kbLatinLetter(w)
        exist = False
        for s in syns :             # check if synonym exists
            if s[1] == w_kb :
                exist = True
        if not exist :              # if not: append it
            #### syns.append({
            ####     'w' : w,
            ####     'kb' : w_kb
            #### })
            syns.append([ w, w_kb ])
    synonyms.append(syns)

for p in products :
    print( linksMarked(p) )

import json

print(json.dumps(synonyms, ensure_ascii=False))


import datetime

start = datetime.datetime.now()

malist = [ "καλαμπόκι-διαβητικών", "cocacola-zero", "γιουβαρλάκια", "WELCOME", "σφενδόνα", "σκλαβενίτης", 'bonora', 'kris-κρις-παπαδοπούλου', "τηλεφώνημα", "χωρίς-αλάτι" ]

for i in range(1, 1000000) :
    for w in malist :
        tmp = kbLatinLetter(malist[i%10])

end = datetime.datetime.now()
print('execution time:', (end-start), 's')