I use globse instead of wf.
parent
b30a5f614e
commit
c0f8db6c71
|
@ -47,33 +47,50 @@ def ask_for_text():
|
||||||
@app.route('/_find_translations')
|
@app.route('/_find_translations')
|
||||||
def find_translations():
|
def find_translations():
|
||||||
text_for_translation = request.args.get('text', 0)
|
text_for_translation = request.args.get('text', 0)
|
||||||
language = request.args.get('language', 0)
|
from_language = request.args.get('from_language', 0)
|
||||||
dictionary_link = "http://api.wordreference.com/a95ae/json/" + language + "/"
|
dest_language = request.args.get('dest_language', 0)
|
||||||
words = text_for_translation.split(" ")
|
words = text_for_translation.split(" ")
|
||||||
translations = []
|
translations = []
|
||||||
for word in words:
|
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)
|
translations.append(translation)
|
||||||
return jsonify(result=translations, words=words, html_output=prepare_html_output(words))
|
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')
|
@app.route('/_send_mail')
|
||||||
def send_mail():
|
def send_mail():
|
||||||
from_address = "attero@hackerspace.pl"
|
try:
|
||||||
to_address = request.args.get('mail_address', 0)
|
from_address = "attero@hackerspace.pl"
|
||||||
message_text = request.args.get('message', 0)
|
to_address = request.args.get('mail_address', 0)
|
||||||
msg = ("From: %s\r\nTo: %s\r\nSubject: Lanre\r\n" % (from_address, to_address))
|
message_text = request.args.get('message', 0)
|
||||||
server = smtplib.SMTP('hackerspace.pl', 587)
|
msg = ("From: %s\r\nTo: %s\r\nSubject: Lanre\r\n" % (from_address, to_address))
|
||||||
server.starttls()
|
server = smtplib.SMTP('hackerspace.pl', 587)
|
||||||
server.login("attero", "dupa.8")
|
server.starttls()
|
||||||
server.set_debuglevel(1)
|
server.login("attero", "dupa.8")
|
||||||
print(from_address)
|
server.set_debuglevel(1)
|
||||||
print(to_address)
|
print(from_address)
|
||||||
print(msg + message_text)
|
print(to_address)
|
||||||
print("somethin wrong in loging to server")
|
print(msg + message_text)
|
||||||
server.sendmail(from_address, to_address, msg + message_text)
|
print("somethin wrong in loging to server")
|
||||||
server.quit()
|
server.sendmail(from_address, to_address, msg + message_text)
|
||||||
return jsonify(result="success")
|
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)
|
output = " ".join(words_with_html)
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
def prepare_word(word):
|
||||||
|
try:
|
||||||
|
word = strip_punctuation(word)
|
||||||
|
return word[0].lower() + word[1:]
|
||||||
|
except:
|
||||||
|
return ""
|
||||||
|
|
||||||
def strip_punctuation(word):
|
def strip_punctuation(word):
|
||||||
try:
|
try:
|
||||||
|
@ -93,15 +116,6 @@ def strip_punctuation(word):
|
||||||
return 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):
|
def fetch_translations(retrieved_json):
|
||||||
response = ""
|
response = ""
|
||||||
|
@ -109,7 +123,8 @@ def fetch_translations(retrieved_json):
|
||||||
response += retrieved_json["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"] + ", "
|
response += retrieved_json["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"] + ", "
|
||||||
return response
|
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
|
#a95ae api key for word reference is: a95ae
|
||||||
#http://www.wordreference.com/docs/api.aspx
|
#http://www.wordreference.com/docs/api.aspx
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,9 @@
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1">
|
id="layer1">
|
||||||
<g
|
<g
|
||||||
id="g5284">
|
id="g5284"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90">
|
||||||
<path
|
<path
|
||||||
sodipodi:nodetypes="cccsssccccsscccc"
|
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"
|
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"
|
||||||
|
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.9 KiB |
|
@ -74,62 +74,68 @@ $("#thanks-for-help").click(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#lifren").click(function() {
|
$("#lifren").click(function() {
|
||||||
$LANGUAGE = "fren";
|
$DEST_LANGUAGE = "eng";
|
||||||
|
$FROM_LANGUAGE = "fra";
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
$("#liiten").removeClass("active");
|
$("#liiten").removeClass("active");
|
||||||
$("#lienit").removeClass("active");
|
$("#lienit").removeClass("active");
|
||||||
$("#liesen").removeClass("active");
|
$("#lideen").removeClass("active");
|
||||||
$("#lienes").removeClass("active");
|
$("#liende").removeClass("active");
|
||||||
$("#lienfr").removeClass("active");
|
$("#lienfr").removeClass("active");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#lienfr").click(function() {
|
$("#lienfr").click(function() {
|
||||||
$LANGUAGE = "enfr";
|
$DEST_LANGUAGE = "fra";
|
||||||
|
$FROM_LANGUAGE = "eng";
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
$("#liesen").removeClass("active");
|
$("#lideen").removeClass("active");
|
||||||
$("#lienes").removeClass("active");
|
$("#liende").removeClass("active");
|
||||||
$("#lifren").removeClass("active");
|
$("#lifren").removeClass("active");
|
||||||
|
|
||||||
$("#liiten").removeClass("active");
|
$("#liiten").removeClass("active");
|
||||||
$("#lienit").removeClass("active");
|
$("#lienit").removeClass("active");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#liesen").click(function() {
|
$("#lideen").click(function() {
|
||||||
$LANGUAGE = "esen";
|
$DEST_LANGUAGE = "eng";
|
||||||
|
$FROM_LANGUAGE = "deu";
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
$("#liiten").removeClass("active");
|
$("#liiten").removeClass("active");
|
||||||
$("#lienit").removeClass("active");
|
$("#lienit").removeClass("active");
|
||||||
$("#lienfr").removeClass("active");
|
$("#lienfr").removeClass("active");
|
||||||
$("#lienes").removeClass("active");
|
$("#liende").removeClass("active");
|
||||||
$("#lifren").removeClass("active");
|
$("#lifren").removeClass("active");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#lienes").click(function() {
|
$("#liende").click(function() {
|
||||||
$LANGUAGE = "enes";
|
$DEST_LANGUAGE = "deu";
|
||||||
|
$FROM_LANGUAGE = "eng";
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
$("#liiten").removeClass("active");
|
$("#liiten").removeClass("active");
|
||||||
$("#lienit").removeClass("active");
|
$("#lienit").removeClass("active");
|
||||||
$("#liesen").removeClass("active");
|
$("#lideen").removeClass("active");
|
||||||
$("#lienfr").removeClass("active");
|
$("#lienfr").removeClass("active");
|
||||||
$("#lifren").removeClass("active");
|
$("#lifren").removeClass("active");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$("#liiten").click(function() {
|
$("#liiten").click(function() {
|
||||||
$LANGUAGE = "iten";
|
$DEST_LANGUAGE = "eng";
|
||||||
|
$FROM_LANGUAGE = "ita";
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
$("#liesen").removeClass("active");
|
$("#lideen").removeClass("active");
|
||||||
$("#lienes").removeClass("active");
|
$("#liende").removeClass("active");
|
||||||
$("#lifren").removeClass("active");
|
$("#lifren").removeClass("active");
|
||||||
$("#lienfr").removeClass("active");
|
$("#lienfr").removeClass("active");
|
||||||
$("#lienit").removeClass("active");
|
$("#lienit").removeClass("active");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#lienit").click(function() {
|
$("#lienit").click(function() {
|
||||||
$LANGUAGE = "enit";
|
$DEST_LANGUAGE = "ita";
|
||||||
|
$FROM_LANGUAGE = "eng";
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
$("#liesen").removeClass("active");
|
$("#lideen").removeClass("active");
|
||||||
$("#lienes").removeClass("active");
|
$("#liende").removeClass("active");
|
||||||
$("#lienfr").removeClass("active");
|
$("#lienfr").removeClass("active");
|
||||||
$("#lifren").removeClass("active");
|
$("#lifren").removeClass("active");
|
||||||
$("#liiten").removeClass("active");
|
$("#liiten").removeClass("active");
|
||||||
|
@ -170,7 +176,8 @@ function get_translation(text_for_translation) {
|
||||||
change_communicat("It may take some time..." );
|
change_communicat("It may take some time..." );
|
||||||
$.getJSON( $SCRIPT_ROOT + '/_find_translations', {
|
$.getJSON( $SCRIPT_ROOT + '/_find_translations', {
|
||||||
text:text_for_translation,
|
text:text_for_translation,
|
||||||
language:$LANGUAGE
|
from_language:$FROM_LANGUAGE,
|
||||||
|
dest_language:$DEST_LANGUAGE
|
||||||
}, function(data) {
|
}, function(data) {
|
||||||
$("#translated-text").html(data.html_output);
|
$("#translated-text").html(data.html_output);
|
||||||
translated_words = data.result;
|
translated_words = data.result;
|
||||||
|
|
|
@ -14,11 +14,11 @@
|
||||||
<li id="lienit">
|
<li id="lienit">
|
||||||
<a href="#language-options">English Italian</a>
|
<a href="#language-options">English Italian</a>
|
||||||
</li>
|
</li>
|
||||||
<li id="lienes">
|
<li id="liende">
|
||||||
<a href="#language-options">English Spanish</a>
|
<a href="#language-options">English German</a>
|
||||||
</li>
|
</li>
|
||||||
<li id="liesen">
|
<li id="lideen">
|
||||||
<a href="#language-options">Spanish English</a>
|
<a href="#language-options">German English</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
|
|
||||||
<script type=text/javascript>
|
<script type=text/javascript>
|
||||||
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
|
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
|
||||||
$LANGUAGE = "fren";
|
$FROM_LANGUAGE = "eng";
|
||||||
|
$DEST_LANGUAGE = "fra";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
|
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
|
||||||
|
|
Loading…
Reference in New Issue