summaryrefslogtreecommitdiff
path: root/python/test.py
diff options
context:
space:
mode:
authorGeo Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-17 13:30:46 +0200
committerGeo Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-17 13:30:46 +0200
commitc50d4c645cd3c04204106c4f9f026e5910afa3d5 (patch)
tree6cc6bdb9cb159a96b8335419691a08a941ea0165 /python/test.py
parent504732c3d35d003fd5067240b98bc35f03c8cad9 (diff)
downloadlinkeysearch-c50d4c645cd3c04204106c4f9f026e5910afa3d5.tar.gz
linkeysearch-c50d4c645cd3c04204106c4f9f026e5910afa3d5.tar.bz2
linkeysearch-c50d4c645cd3c04204106c4f9f026e5910afa3d5.zip
Code tree reorganized; older implemenatations act as a start point
Diffstat (limited to 'python/test.py')
-rw-r--r--python/test.py104
1 files changed, 104 insertions, 0 deletions
diff --git a/python/test.py b/python/test.py
new file mode 100644
index 0000000..4c5a361
--- /dev/null
+++ b/python/test.py
@@ -0,0 +1,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') \ No newline at end of file