Advertisement
Guest User

Hahaha.py

a guest
Jan 19th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.49 KB | None | 0 0
  1. #Coded Eric Pedra
  2. import requests
  3. import time
  4. import smtplib
  5. from email.mime.text import MIMEText
  6. import getpass
  7. import json
  8. import datetime
  9. import traceback
  10. import platform
  11. import os
  12.  
  13.  
  14. def init_gmail_server(gmail_user, gmail_password):
  15.     try:
  16.         server = smtplib.SMTP_SSL('smtp.gmail.com', 465) #587 tls anjeng
  17.         server.ehlo()
  18.         server.login(gmail_user, gmail_password)
  19.     except:
  20.         print("Ada yang salah, silakan cek akun atau kata sandi Anda")
  21.     return server
  22.  
  23. def send_notification(gmail_user, gmail_password, body):
  24.     server = init_gmail_server(gmail_user, gmail_password)
  25.     sent_from = gmail_user
  26.     sent_to = [gmail_user]
  27.     subject = 'Apple support notification'
  28.     msg = MIMEText(body)
  29.     msg['Subject'] = subject
  30.     msg['From'] = sent_from
  31.     server.sendmail(sent_from, sent_to, msg.as_string())
  32.     server.close()
  33.  
  34.  
  35. gmail_user = input("Akun Gmailmu: ")
  36. gmail_password = getpass.getpass("Kata Sandimu: ")
  37. with open('cookie', 'r') as f:
  38.     cookies_from_apple_web = f.read().split('\n')[0]
  39.  
  40. os.system("rm cookie")
  41. os.system("touch cookie")
  42.  
  43. url = "https://getsupport.apple.com/web/v2/takein/timeslots"
  44.  
  45. headers= {
  46.     "Content-Type": "application/json; charset=UTF-8",
  47.     "X-Apple-CSRF-Token": "gXYPaEXtlbOn+Cg5IT5R1Shx73Y=",
  48.     "Cookie": cookies_from_apple_web
  49. }
  50.  
  51.  
  52. body = {"store":"R713","athenaRetailRequest":{"dims":"Vta44j1e3NlY5BSo9z4ofjb75PaK4Vpjt3Q9cUVlOrXTAxw63UYOKES5jfzmkflFflNzl998tp7ppfAaZ6m1CdC5MQjGejuTDRNziCvTDfWogCjC8ZxQBgEhO3f9p_nH1u_eH3BhxUC550ialT0ial5me1zU0l5yjaY1WMsiZRPrwXC_JEkNgvlE4yy2XElgebiYMpztNKscKsgUs_43wuZPup_nH2t05oaYAhrcpMxE6DBUr5xj6KkuL5raZmThaL6qgXK_Pmtd0SUrs8WOUMnGWoz75PP9BLsBwe98vDdYejftckuyPBDjaY2ftckZZLQ084akJkFWHJBeNFBSQeLaD.SAxN4t1VKWZWuxbuJjkWick51W21BSkMk0ugN.xL43DdlK64Wyg1wWF9kmFxFjkWUdISFQeB0VcHmrk9B0WHGY5BNv_.BNlYCa1nkBMfs.2DK","clientTimeZone":480}}
  53.  
  54.  
  55. status_fail_body = "There some error in the program, please take a look"
  56. fail_time = 0
  57.  
  58. while True:
  59.     print("Check webpage from apple..., datetime: {}".format(str(datetime.datetime.now())))
  60.     res = requests.post(url=url, headers=headers, data=json.dumps(body))
  61.     if res.status_code == 200:
  62.         try:
  63.             fail_time = 0
  64.             res_raw = json.loads(res.text)
  65.             res_data = res_raw["data"]["timeslots"]["days"]
  66.             for day in res_data:
  67.                 if day['available'] != 0:
  68.                     print("Warning, there's an update!!!!!!!!!!!!!!!!!!!!!")
  69.                     if platform.system() == 'Darwin':
  70.                         os.system('say Hi')
  71.                     status_ok_body = 'Time: {} \n There is an update from apple support webpage in Taipei 101, please visit https://getsupport.apple.com/ to get the support'.format(str(datetime.datetime.now()))
  72.                     send_notification(gmail_user, gmail_password, status_ok_body)
  73.         except Exception as e:
  74.             err = traceback.format_exc()
  75.             print(err)
  76.             print("Maybe cookie is not available")
  77.             fail_time += 1
  78.             if fail_time > 5:
  79.                 if platform.system() == 'Darwin':
  80.                     os.system('say Error')
  81.                 send_notification(gmail_user, gmail_password, status_fail_body)
  82.                 break
  83.  
  84.     else:
  85.         print("Error, maybe network is not available")
  86.         if platform.system() == 'Darwin':
  87.             os.system('say Error')
  88.         send_notification(gmail_user, gmail_password, status_fail_body)
  89.         break
  90.  
  91.     time.sleep(20)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement