Я работаю над проектом python с Python (3.6) и Flask, в котором я должен вернуть текст на арабском c. Когда я печатаю текст в консоли, он работает хорошо, но когда я возвращаю его как ответ, его порядок меняется справа налево.
Вот что я пробовал:
from odoa import ODOA
import arabic_reshaper
from bidi.algorithm import get_display
from flask import Flask
import json
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
@app.route('/', methods=['GET'])
def get_an_ayah():
odoa = ODOA()
surah = odoa.get_random_surah(lang='en')
text = surah.ayah.decode("utf-8")
reshaped_text = arabic_reshaper.reshape(text) # correct its shape
arabic_text = get_display(reshaped_text, base_dir='R')
print(arabic_text)
translation = str(surah.translate)
sound_file_url = str(surah.sound)
reference = str(str(surah.surah_number) + ':' + str(surah.ayah_number))
response_dict = {
'text': arabic_text,
'translation': translation,
'sound': sound_file_url,
'ref': reference
}
return response_dict
результат для print(arabix_text
это:
и вот как это в ответ:
{
"ref": "94:2",
"sound": "https://raw.githubusercontent.com/semarketir/quranjson/master/source/audio/094/002.mp3",
"text": "ﻙﺭﺯﻭ ﻚﻨﻋ ﺎﻨﻌﺿﻭﻭ",
"translation": "And lift from you your burden."
}
как я могу получить правильную ориентацию для арабского c текст?