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
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")
### 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(
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: