pretty print

This commit is contained in:
2021-09-14 13:53:04 +02:00
parent e1b7d3dc27
commit 2004c1ac6b
3 changed files with 35 additions and 14 deletions

22
main.py
View File

@@ -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):