pretty print
This commit is contained in:
22
main.py
22
main.py
@@ -1,13 +1,13 @@
|
||||
import re
|
||||
import sys
|
||||
|
||||
from datetime import datetime
|
||||
from time import sleep
|
||||
|
||||
# from playsound import playsound
|
||||
from requests import post
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.chrome.options import Options
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from tabulate import tabulate
|
||||
|
||||
|
||||
def main():
|
||||
@@ -28,9 +28,8 @@ def main():
|
||||
driver.get('https://telekom.company-bike.com/shop?filter=1&type=Pedelec&groups=MTB/Cross&fed=1')
|
||||
|
||||
bikes = driver.find_elements_by_css_selector('div.product-info > h4')
|
||||
bikes.pop()
|
||||
|
||||
print(f'Found {len(bikes)} bikes.')
|
||||
print(f'Found {len(bikes)} (possible) bikes.')
|
||||
|
||||
check_links = []
|
||||
|
||||
@@ -40,27 +39,30 @@ def main():
|
||||
check_links.append(bike.find_element_by_css_selector('a').get_property('href'))
|
||||
else:
|
||||
print(f'{bike.text} known but not wanted.')
|
||||
elif bike.text == 'Ihr Fahrrad ist nicht dabei?':
|
||||
print(f'Ad: "{bike.text}"')
|
||||
else:
|
||||
alert(f'Unknown bike found: {bike.text}!')
|
||||
|
||||
for link in check_links:
|
||||
driver.get(link)
|
||||
name = driver.find_element_by_css_selector('h1.mb-0')
|
||||
print(f'Checking {name.text}:')
|
||||
print(f'Checking availability for {name.text}:')
|
||||
sizes = driver.find_elements_by_css_selector('div.size-list-wrapper > ul > li > div > div > h3')
|
||||
results = []
|
||||
print()
|
||||
for size in sizes:
|
||||
if size.text != 'L':
|
||||
print(f'Not caring for size {size.text}.')
|
||||
continue
|
||||
availability = size.find_element_by_xpath('..').find_element_by_css_selector('span').get_attribute("class")
|
||||
availability = re.search(r'ado-(?!light)(\w+)-bulb', availability)
|
||||
if not availability:
|
||||
alert(f'Error in availability check for {name.text} in size {size.text}')
|
||||
continue
|
||||
availability = availability.group(1)
|
||||
print(f'Availability of size {size.text}: {availability}')
|
||||
if availability != 'red':
|
||||
results.append([size.text, availability])
|
||||
if size.text == 'L' and availability != 'red':
|
||||
alert(f'We got availability for {name.text} in size {size.text}!')
|
||||
print(tabulate(results, tablefmt="pretty"))
|
||||
print('')
|
||||
driver.close()
|
||||
|
||||
def read_bike_file(filename):
|
||||
|
||||
Reference in New Issue
Block a user