Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- import time
- import smtplib
- from email.mime.multipart import MIMEMultipart
- from email.mime.text import MIMEText
- from threading import Thread, Lock
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- def send(emailto, thr, sub):
- emailfrom = "sender@example.com"
- username = "thorup.dk@gmail.com"
- password = "iGnisteCUMbRU"
- msg = MIMEMultipart('mixed')
- msg["From"] = emailfrom
- msg["To"] = emailto
- msg["Subject"] = sub
- textPart = MIMEText(thr, 'plain')
- msg.attach(textPart)
- server = smtplib.SMTP("smtp.gmail.com:587")
- server.starttls()
- server.login(username, password)
- server.sendmail(emailfrom, emailto, msg.as_string())
- server.quit()
- d0 = datetime.datetime.today()
- d = d0 + datetime.timedelta(days=2)
- day = str(d.day)
- RL = ['', '', '']
- def worker(n, start):
- error = False
- with my_lock:
- driver = webdriver.Firefox()
- driver.get("https://roombooking.au.dk/classes/Login.aspx?ReturnUrl=%2fclasses%2fbook.aspx")
- for tries in range(50):
- try:
- if error:
- driver.get("https://roombooking.au.dk/classes/Login.aspx?ReturnUrl=%2fclasses%2fbook.aspx")
- driver.find_element_by_id("ctl00_Main_UsernameLbl").send_keys("20103901")
- driver.find_element_by_id("ctl00_Main_PasswordBox").send_keys('walboGOLDa1p', Keys.ENTER)
- driver.find_element_by_id('ctl00_Main_Room1_ReqSize').send_keys('5')
- driver.find_element_by_id('ctl00_Main_Room1_ZoneList').send_keys('f')
- driver.find_element_by_link_text(day).click()
- driver.find_element_by_id('durTemp').send_keys('4')
- driver.find_element_by_id('startTimeTemp').send_keys(start)
- driver.find_element_by_id('ctl00_Main_ShowOptionsBtn').click()
- driver.find_element_by_css_selector('#ctl00_Main_OptionSelector_OptionsGrid').find_elements_by_tag_name(
- "tr")
- driver.find_element_by_id('ctl00_Main_OptionSelector_OptionsGrid_ctl02_rdo').click()
- driver.find_element_by_id('ctl00_Main_SelectOptionButton').click()
- if not error:
- b = datetime.datetime.now() + datetime.timedelta(days=1)
- sec_to_midnight = (b.replace(hour=0, minute=0, second=0, microsecond=0) - datetime.datetime.now()).total_seconds()
- print "wait %i seconds" % sec_to_midnight
- time.sleep(sec_to_midnight)
- driver.find_element_by_id('ctl00_Main_MakeBookingBtn').click()
- thr = driver.find_element_by_id('ctl00_Main_BookingForm1_BookingCompleted').text
- RL[n] = thr
- driver.close()
- break
- except:
- error = True
- pass
- return
- my_lock = Lock()
- threads = []
- iterations = ['8', '12', '16']
- for n, i in enumerate(iterations):
- t = Thread(target=worker, args=[n, i])
- threads.append(t)
- t.start()
- t.join()
- now = datetime.datetime.now()
- midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
- seconds = (now - midnight).seconds
- send('thorup.dk@gmail.com',
- RL[0][30:55] + "\n \n" + RL[1][30:56] + "\n \n" + RL[2][30:56] + "\n \n in {} seconds".format(seconds),
- "Room bookings for {}".format(RL[0][59:70]))
- send('holden750@gmail.com',
- RL[0][30:55] + "\n \n" + RL[1][30:56] + "\n \n" + RL[2][30:56] + "\n \n in {} seconds".format(seconds),
- "Room bookings for {}".format(RL[0][59:70]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement