api.py 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. from flask import Flask
  2. import json
  3. import os
  4. import shutil
  5. from pyxmpp2.simple import send_message
  6. app = Flask(__name__)
  7. gkm_json = open("gkm.json", "r")
  8. parser = json.load(gkm_json)
  9. jid = "bufkboun@cheogram.com"
  10. password = "qazwsxedc123"
  11. @app.after_request
  12. def after_request(response):
  13. response.headers.add('Access-Control-Allow-Origin', '*')
  14. response.headers.add('Access-Control-Allow-Headers', 'Content-Type,Authorization')
  15. response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
  16. return response
  17. @app.route("/")
  18. def hello():
  19. return 'BÜFK Biletleyici'
  20. @app.route("/yenigosteri/<tarih>/<saat>/<yer>")
  21. def yenigosteri(tarih, saat, yer):
  22. gosteri = {
  23. "tarih": str(tarih),
  24. "saat": str(saat),
  25. "yer": str(yer)
  26. }
  27. try:
  28. os.mkdir("./gosteriler/{}".format(tarih))
  29. shutil.copy("gkm.json", "gosteriler/{}/salon.json".format(tarih))
  30. shutil.copy("satilan.json", "gosteriler/{}/satilan.json".format(tarih))
  31. shutil.copy("rezervasyon.json", "gosteriler/{}/rezervasyon.json".format(tarih))
  32. gosteriler_json_file = open("gosteriler.json", "r")
  33. json_parser = json.load(gosteriler_json_file)
  34. json_parser.append(gosteri)
  35. gosteriler_json_file.close()
  36. with open("gosteriler.json", "w") as gosteriler_json_file_to_write:
  37. json.dump(json_parser, gosteriler_json_file_to_write, sort_keys=True, indent=4)
  38. return "Yeni gösteri: {}".format(tarih)
  39. except FileExistsError:
  40. return "Gösteri zaten mevcut."
  41. @app.route("/satis/<gosteri>/<koltuk>/<tip>/<isim>/<eposta>/<telefon>")
  42. def satis(gosteri, koltuk, tip, isim, eposta, telefon):
  43. row = {
  44. "isim": str(isim),
  45. "eposta": str(eposta),
  46. "telefon": str(telefon),
  47. "koltuk": str(koltuk),
  48. "tip": str(tip),
  49. }
  50. with open("./gosteriler/{}/salon.json".format(gosteri), "r") as gosteri_salon_json:
  51. salon_parser = json.load(gosteri_salon_json)
  52. for giri in salon_parser:
  53. if giri["koltuk"] == koltuk and giri["satildi"] == False and giri["rezerve"] == False:
  54. giri["satildi"] = True
  55. satilan_json = open("gosteriler/{}/satilan.json".format(gosteri), "r")
  56. satilanlar = json.load(satilan_json)
  57. satilan_json.close()
  58. satilanlar.append(row)
  59. with open("./gosteriler/{}/satilan.json".format(gosteri), "w") as satilan_json_to_write:
  60. json.dump(satilanlar, satilan_json_to_write, sort_keys=True, indent=4)
  61. with open("./gosteriler/{}/salon.json".format(gosteri), "w") as gosteri_salon_json_to_write:
  62. json.dump(salon_parser, gosteri_salon_json_to_write, sort_keys=True, indent=4)
  63. return "{0} gösterisindeki {1} numaralı koltuk {2} kişisine satıldı.".format(gosteri, koltuk, isim)
  64. elif giri["koltuk"] == koltuk and giri["satildi"] == True:
  65. return "Bu koltuk zaten satılmış."
  66. elif giri["koltuk"] == koltuk and giri["rezerve"] == True:
  67. return "Bu koltuk rezerve."
  68. @app.route("/rezervasyon/<gosteri>/<koltuk>/<tip>/<isim>/<eposta>/<telefon>")
  69. def rezervasyon(gosteri, koltuk, tip, isim, eposta, telefon):
  70. row = {
  71. "isim": str(isim),
  72. "eposta": str(eposta),
  73. "telefon": str(telefon),
  74. "koltuk": str(koltuk),
  75. "tip": str(tip),
  76. }
  77. with open("./gosteriler/{}/salon.json".format(gosteri), "r") as gosteri_salon_json:
  78. salon_parser = json.load(gosteri_salon_json)
  79. for giri in salon_parser:
  80. if giri["koltuk"] == koltuk and giri["rezerve"] == False and giri["satildi"] == False:
  81. giri["rezerve"] = True
  82. satilan_json = open("gosteriler/{}/rezervasyon.json".format(gosteri), "r")
  83. satilanlar = json.load(satilan_json)
  84. satilan_json.close()
  85. satilanlar.append(row)
  86. with open("./gosteriler/{}/rezervasyon.json".format(gosteri), "w") as satilan_json_to_write:
  87. json.dump(satilanlar, satilan_json_to_write, sort_keys=True, indent=4)
  88. with open("./gosteriler/{}/salon.json".format(gosteri), "w") as gosteri_salon_json_to_write:
  89. json.dump(salon_parser, gosteri_salon_json_to_write, sort_keys=True, indent=4)
  90. return "{0} gösterisindeki {1} numaralı koltuk {2} kişisine rezerve edildi.".format(gosteri, koltuk, isim)
  91. elif giri["koltuk"] == koltuk and giri["satildi"] == True and giri["rezerve"] == False:
  92. return "Bu koltuk zaten satılmış."
  93. elif giri["koltuk"] == koltuk and giri["satildi"] == False and giri["rezerve"] == True:
  94. return "Bu koltuk rezerve."
  95. @app.route("/salon/<gosteri>")
  96. def salon(gosteri):
  97. with open("gosteriler/{}/salon.json".format(gosteri), "r") as salon_json:
  98. salon_durumu = salon_json.read()
  99. return salon_durumu
  100. @app.route("/satilanlar/<gosteri>")
  101. def satilanlar(gosteri):
  102. with open("gosteriler/{}/satilan.json".format(gosteri), "r") as satilan:
  103. satislar = satilan.read()
  104. return satislar
  105. @app.route("/rezervasyonlar/<gosteri>")
  106. def rezervasyonlar(gosteri):
  107. with open("gosteriler/{}/rezervasyon.json".format(gosteri), "r") as rezervasyon:
  108. rezervasyon_listesi = rezervasyon.read()
  109. return rezervasyon_listesi
  110. @app.route("/gosteriler")
  111. def gosteriler():
  112. with open("gosteriler.json", "r") as gosteriler_json:
  113. gosteri_listesi = gosteriler_json.read()
  114. return gosteri_listesi
  115. @app.route("/bozuk_koltuklar")
  116. def bozuk_koltuklar():
  117. with open("bozuk_koltuklar.json", "r") as bozuk_koltuklar_json:
  118. bozuk_koltuklar = bozuk_koltuklar_json.read()
  119. return bozuk_koltuklar
  120. @app.route("/sms/<telefon>")
  121. def sms(telefon):
  122. gosteri = "210699"
  123. koltuk = "f12"
  124. to = telefon + "@cheogram.com"
  125. tarih_pretty = gosteri[0:2] + "." + gosteri[2:4] + "." + gosteri[4:6]
  126. saat_pretty = ""
  127. yer_pretty = ""
  128. with open("gosteriler.json") as gosteri_json:
  129. parser = json.load(gosteri_json)
  130. for gosteri_giri in parser:
  131. if gosteri_giri["tarih"] == gosteri:
  132. saat_pretty = gosteri_giri["saat"]
  133. yer_pretty = gosteri_giri["yer"]
  134. saat_pretty = saat_pretty[0:2] + ":" + saat_pretty[2:4]
  135. message = "GECEDE DEVAM EDER RENK " + tarih_pretty + " " + saat_pretty + " " + yer_pretty + "SIRA: " + str(
  136. koltuk[0]).upper() + " NUMARA: " + koltuk[1:] + " BUFK IYI SEYIRLER DILER"
  137. print(message)
  138. send_message("bufkboun@dismail.de", "qazwsxedc123", to, message)
  139. return "SMS gönderildi"
  140. if __name__ == '__main__':
  141. app.run(host='0.0.0.0', port=9998)