Exemplo n.º 1
0
def main():
    global update_id
    bot = telegram.Bot(token=TOKEN)

    try:
        update_id = bot.get_updates()[0].update_id
    except IndexError:
        update_id = None

    interface = telegram.ReplyKeyboardMarkup(
        [["Arabic", "Audio", "English", "Tafsir"],
         ["Previous", "Random", "Next"]],
        resize_keyboard=True)

    data = {
        "english": Quran("translation"),
        "tafsir": Quran("tafsir"),
        "index": make_index(),
        "interface": interface
    }
    data["default_query_results"] = get_default_query_results(data["english"])

    while True:
        try:
            serve(bot, data)
        except NetworkError:
            sleep(1)
        except Unauthorized:  # user has removed or blocked the bot
            update_id += 1
        except TelegramError as e:
            if "Invalid server response" in str(e):
                sleep(3)
            else:
                raise e
Exemplo n.º 2
0
def quran_api():
    if request.method == "POST":
        quran = Quran()
        data = request.get_json()
        print(data)
        if data:
            if data["type"] == "select":
                data = data.get("data")
                if data:
                    surah = data.get("surah")
                    ayat = data.get("ayat")
                    return jsonify(quran.select(surah, ayat))
                else:
                    return jsonify(
                        dict(success=False, message="gagal, param data tidak ada")
                    )
            elif data["type"] == "surah":
                data = data.get("data")
                if data:
                    surah = data.get("surah")
                    return jsonify(quran.surah(surah))
                else:
                    return jsonify(
                        dict(success=False, message="gagal, param data tidak ada")
                    )
            elif data["type"] == "specify":
                data = data.get("data")
                if data:
                    surah = data.get("surah")
                    start = data.get("start")
                    end = data.get("end")
                    return jsonify(quran.specify(surah, start=start, end=end))
                else:
                    return jsonify(
                        dict(success=False, message="gagal, param data tidak ada")
                    )
            elif data["type"] == "search":
                data = data.get("data")
                if data:
                    data = data.get("query")
                    return jsonify(quran.search(data))
            else:
                return jsonify(status=False, message=None)
        else:
            return jsonify(status=False, message=None)
    return render_template("api.html", path="api", title="API Quran")
Exemplo n.º 3
0
###

import requests as rq

from quran import Quran

# res = quran.get_recitations()
# res = quran.get_translations()
# res = quran.get_languages(language='ur')
# res = quran.get_tafsirs()
# res = quran.get_chapters(6, language="ur")
# res = quran.get_verses(6, recitation=1, translations=21, language="en", text_type="words")
# res = quran.get_verse(6, 6)
# res = quran.get_juzs()

qur = Quran()


def test_get_recitations():
    assert qur.get_recitations() == rq.get(
        "http://api.quran.com:3000/api/v3/options/recitations").json()


def test_get_translations():
    assert qur.get_translations() == rq.get(
        "http://api.quran.com:3000/api/v3/options/translations").json()


def test_get_languages():
    assert qur.get_languages(language='ur') == rq.get(
        "http://api.quran.com:3000/api/v3/options/languages?language=bn").json(
Exemplo n.º 4
0
from quran import Quran
import time
from twitter import Twitter
from media import Media

# Changed english quran to indonesian quran

md = Media()
tw = Twitter()
quran = Quran()
surahs = quran.fetch_surah_data()

def start():
    while True:
        try:
            md.download_image()
            data = quran.get_ayah()
            surah_name = surahs[data["index_surah"]-1]["name"]
            print("Surah name is "+str(surah_name))
            ayah_text = data["ayah"]["text"]
            ayah_index = data["ayah"]["index"]
            print("Ayah ke "+str(ayah_index)+ " and isi "+ str(ayah_text))
            tweet_candidate = ayah_text + " [" + surah_name + " : " + str(ayah_index) + "]"
            if len(tweet_candidate) < 280:
                tw.api.update_status(tweet_candidate)
            else:
                md.process_image(ayah_text, surah_name, ayah_index)
                tw.post_tweet_with_media()

            time.sleep(14400)
        except Exception as ex: