summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lanre_py/lanre.py71
-rw-r--r--lanre_py/static/lanre.svg4
-rw-r--r--lanre_py/static/scripts.js45
-rw-r--r--lanre_py/templates/ask_for_text.html8
-rw-r--r--lanre_py/templates/layout.html3
5 files changed, 78 insertions, 53 deletions
diff --git a/lanre_py/lanre.py b/lanre_py/lanre.py
index 2effe07..90d3101 100644
--- a/lanre_py/lanre.py
+++ b/lanre_py/lanre.py
@@ -47,33 +47,50 @@ def ask_for_text():
@app.route('/_find_translations')
def find_translations():
text_for_translation = request.args.get('text', 0)
- language = request.args.get('language', 0)
- dictionary_link = "http://api.wordreference.com/a95ae/json/" + language + "/"
+ from_language = request.args.get('from_language', 0)
+ dest_language = request.args.get('dest_language', 0)
words = text_for_translation.split(" ")
translations = []
for word in words:
- translation = get_exact_translation(requests.get(dictionary_link + strip_punctuation(word)).json)
+ translation = find_translation_in_glosbe(prepare_word(word), from_language, dest_language)
translations.append(translation)
return jsonify(result=translations, words=words, html_output=prepare_html_output(words))
+def find_translation_in_glosbe(phrase, from_language, dest):
+ url = "http://glosbe.com/gapi/translate?from=" + from_language
+ url += "&dest=" + dest + "&format=json&phrase="
+ url += phrase + "&pretty=true"
+ response = requests.get(url).json
+ try:
+ return response["tuc"][0]["phrase"]["text"]
+ except:
+ return "no translation"
+
+
+
+
+
@app.route('/_send_mail')
def send_mail():
- from_address = "attero@hackerspace.pl"
- to_address = request.args.get('mail_address', 0)
- message_text = request.args.get('message', 0)
- msg = ("From: %s\r\nTo: %s\r\nSubject: Lanre\r\n" % (from_address, to_address))
- server = smtplib.SMTP('hackerspace.pl', 587)
- server.starttls()
- server.login("attero", "dupa.8")
- server.set_debuglevel(1)
- print(from_address)
- print(to_address)
- print(msg + message_text)
- print("somethin wrong in loging to server")
- server.sendmail(from_address, to_address, msg + message_text)
- server.quit()
- return jsonify(result="success")
+ try:
+ from_address = "attero@hackerspace.pl"
+ to_address = request.args.get('mail_address', 0)
+ message_text = request.args.get('message', 0)
+ msg = ("From: %s\r\nTo: %s\r\nSubject: Lanre\r\n" % (from_address, to_address))
+ server = smtplib.SMTP('hackerspace.pl', 587)
+ server.starttls()
+ server.login("attero", "dupa.8")
+ server.set_debuglevel(1)
+ print(from_address)
+ print(to_address)
+ print(msg + message_text)
+ print("somethin wrong in loging to server")
+ server.sendmail(from_address, to_address, msg + message_text)
+ server.quit()
+ return jsonify(result="success")
+ except:
+ return jsonify(result="failure")
@@ -82,6 +99,12 @@ def prepare_html_output(words):
output = " ".join(words_with_html)
return output
+def prepare_word(word):
+ try:
+ word = strip_punctuation(word)
+ return word[0].lower() + word[1:]
+ except:
+ return ""
def strip_punctuation(word):
try:
@@ -93,15 +116,6 @@ def strip_punctuation(word):
return word
-def get_exact_translation(retrieved_json):
- try:
- response = fetch_translations(retrieved_json)
- if len(response) == 0:
- response = "No translation"
- except:
- response = "No translation"
- return response
-
def fetch_translations(retrieved_json):
response = ""
@@ -109,7 +123,8 @@ def fetch_translations(retrieved_json):
response += retrieved_json["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"] + ", "
return response
- #this api is broken and inconsistent, I don't like it, mayby it'd be better to start with something different soon?
+
+#this api is broken and inconsistent, I don't like it, mayby it'd be better to start with something different soon?
#a95ae api key for word reference is: a95ae
#http://www.wordreference.com/docs/api.aspx
diff --git a/lanre_py/static/lanre.svg b/lanre_py/static/lanre.svg
index 86ee933..a496e89 100644
--- a/lanre_py/static/lanre.svg
+++ b/lanre_py/static/lanre.svg
@@ -69,7 +69,9 @@
inkscape:groupmode="layer"
id="layer1">
<g
- id="g5284">
+ id="g5284"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
<path
sodipodi:nodetypes="cccsssccccsscccc"
d="m 133.65126,305.42431 5.48814,13.13199 c -2.376,5.616 -4.82615,8.85816 -7.34615,11.16215 -2.952,2.664 -6.98401,3.96 -12.528,3.96 -4.392,0 -14.89328,0.42393 -15.86153,-2.51677 -3.778633,-11.47617 1.31369,-38.17384 9.09138,-45.09568 4.03385,-3.58997 10.09938,-9.87153 8.28215,2.97245 l 12.12183,-23.51828 -37.24983,21.71828 0,1.8 c 4.896,0.288 5.40951,1.51386 4.67677,5.112 -2.33197,11.45126 -2.920393,18.26407 -5.050762,28.28201 -0.84387,3.96825 -1.424417,9.44808 -6.697076,10.16276 l -3.535534,15.43706 c 13.803124,-4.99722 27.517632,-10.79193 42.626152,-4.04061 l 17.09414,-25.43537"
diff --git a/lanre_py/static/scripts.js b/lanre_py/static/scripts.js
index 5fb8f94..7619d9d 100644
--- a/lanre_py/static/scripts.js
+++ b/lanre_py/static/scripts.js
@@ -74,62 +74,68 @@ $("#thanks-for-help").click(function() {
});
$("#lifren").click(function() {
- $LANGUAGE = "fren";
+ $DEST_LANGUAGE = "eng";
+ $FROM_LANGUAGE = "fra";
$(this).addClass("active");
$("#liiten").removeClass("active");
$("#lienit").removeClass("active");
- $("#liesen").removeClass("active");
- $("#lienes").removeClass("active");
+ $("#lideen").removeClass("active");
+ $("#liende").removeClass("active");
$("#lienfr").removeClass("active");
});
$("#lienfr").click(function() {
- $LANGUAGE = "enfr";
+ $DEST_LANGUAGE = "fra";
+ $FROM_LANGUAGE = "eng";
$(this).addClass("active");
- $("#liesen").removeClass("active");
- $("#lienes").removeClass("active");
+ $("#lideen").removeClass("active");
+ $("#liende").removeClass("active");
$("#lifren").removeClass("active");
$("#liiten").removeClass("active");
$("#lienit").removeClass("active");
});
- $("#liesen").click(function() {
- $LANGUAGE = "esen";
+ $("#lideen").click(function() {
+ $DEST_LANGUAGE = "eng";
+ $FROM_LANGUAGE = "deu";
$(this).addClass("active");
$("#liiten").removeClass("active");
$("#lienit").removeClass("active");
$("#lienfr").removeClass("active");
- $("#lienes").removeClass("active");
+ $("#liende").removeClass("active");
$("#lifren").removeClass("active");
});
- $("#lienes").click(function() {
- $LANGUAGE = "enes";
+ $("#liende").click(function() {
+ $DEST_LANGUAGE = "deu";
+ $FROM_LANGUAGE = "eng";
$(this).addClass("active");
$("#liiten").removeClass("active");
$("#lienit").removeClass("active");
- $("#liesen").removeClass("active");
+ $("#lideen").removeClass("active");
$("#lienfr").removeClass("active");
$("#lifren").removeClass("active");
});
$("#liiten").click(function() {
- $LANGUAGE = "iten";
+ $DEST_LANGUAGE = "eng";
+ $FROM_LANGUAGE = "ita";
$(this).addClass("active");
- $("#liesen").removeClass("active");
- $("#lienes").removeClass("active");
+ $("#lideen").removeClass("active");
+ $("#liende").removeClass("active");
$("#lifren").removeClass("active");
$("#lienfr").removeClass("active");
$("#lienit").removeClass("active");
});
$("#lienit").click(function() {
- $LANGUAGE = "enit";
+ $DEST_LANGUAGE = "ita";
+ $FROM_LANGUAGE = "eng";
$(this).addClass("active");
- $("#liesen").removeClass("active");
- $("#lienes").removeClass("active");
+ $("#lideen").removeClass("active");
+ $("#liende").removeClass("active");
$("#lienfr").removeClass("active");
$("#lifren").removeClass("active");
$("#liiten").removeClass("active");
@@ -170,7 +176,8 @@ function get_translation(text_for_translation) {
change_communicat("It may take some time..." );
$.getJSON( $SCRIPT_ROOT + '/_find_translations', {
text:text_for_translation,
- language:$LANGUAGE
+ from_language:$FROM_LANGUAGE,
+ dest_language:$DEST_LANGUAGE
}, function(data) {
$("#translated-text").html(data.html_output);
translated_words = data.result;
diff --git a/lanre_py/templates/ask_for_text.html b/lanre_py/templates/ask_for_text.html
index eb92bf3..e4b2689 100644
--- a/lanre_py/templates/ask_for_text.html
+++ b/lanre_py/templates/ask_for_text.html
@@ -14,11 +14,11 @@
<li id="lienit">
<a href="#language-options">English Italian</a>
</li>
- <li id="lienes">
- <a href="#language-options">English Spanish</a>
+ <li id="liende">
+ <a href="#language-options">English German</a>
</li>
- <li id="liesen">
- <a href="#language-options">Spanish English</a>
+ <li id="lideen">
+ <a href="#language-options">German English</a>
</li>
</ul>
diff --git a/lanre_py/templates/layout.html b/lanre_py/templates/layout.html
index 449c675..2f5d2aa 100644
--- a/lanre_py/templates/layout.html
+++ b/lanre_py/templates/layout.html
@@ -4,7 +4,8 @@
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
- $LANGUAGE = "fren";
+ $FROM_LANGUAGE = "eng";
+ $DEST_LANGUAGE = "fra";
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>