This commit is contained in:
zman 2024-03-24 11:42:35 -04:00
parent a60ce0db17
commit bc74afd9b9
7 changed files with 26 additions and 20 deletions

View File

View File

@ -6,9 +6,9 @@ Utilizes the `requests` library to send requests
from datetime import datetime, timedelta from datetime import datetime, timedelta
from zoneinfo import ZoneInfo from zoneinfo import ZoneInfo
import requests import requests
from .exceptions import APIRequestError, InvalidDataTypeError, InvalidMethodError from exceptions import APIRequestError, InvalidDataTypeError, InvalidMethodError
from .app_log import LoggingManager from app_log import LoggingManager
from .models import Post from models import Post
class ApiRequestHandler: class ApiRequestHandler:

View File

@ -1,6 +1,6 @@
from .app_log import LoggingManager from app_log import LoggingManager
from .threads import Scheduler from threads import Scheduler
from .costco import CostcoMonitor from costco import CostcoMonitor
class Application: class Application:

View File

@ -5,8 +5,8 @@ from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException from selenium.common.exceptions import TimeoutException
from .app_log import LoggingManager from app_log import LoggingManager
from .models import Product from models import Product
@ -68,6 +68,12 @@ class CostcoMonitor:
img_url = img_element.get_attribute('src') if img_element else "Image URL not found" img_url = img_element.get_attribute('src') if img_element else "Image URL not found"
product_link_element = product.find_element(By.CSS_SELECTOR, "a.product-image-url") product_link_element = product.find_element(By.CSS_SELECTOR, "a.product-image-url")
product_link = product_link_element.get_attribute('href') if product_link_element else "Product link not found" product_link = product_link_element.get_attribute('href') if product_link_element else "Product link not found"
# check if any are none, set to blank
product_sku = product_sku if product_sku else ""
product_name = product_name if product_name else ""
price = price if price else ""
img_url = img_url if img_url else ""
product_link = product_link if product_link else ""
product_detail_list.append(Product(product_sku, product_name, price, img_url, product_link)) product_detail_list.append(Product(product_sku, product_name, price, img_url, product_link))
self.log_manager.log(f"SKU: {product_sku}, Name: {product_name}, Price: {price}, Image URL: {img_url}, Product Link: {product_link}") self.log_manager.log(f"SKU: {product_sku}, Name: {product_name}, Price: {price}, Image URL: {img_url}, Product Link: {product_link}")

View File

@ -1,9 +1,9 @@
from .webhook import WebhookNotifier from webhook import WebhookNotifier
from .app import Application from app import Application
from .api import ApiRequestHandler, PostManager, PostAnalyticsManager, CostcoProductManager from api import ApiRequestHandler, PostManager, PostAnalyticsManager, CostcoProductManager
from .reddit import RedditMonitor, SubmissionManager from reddit import RedditMonitor, SubmissionManager
from .config import Config from config import Config
from .app_log import LoggingManager from app_log import LoggingManager
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,8 +1,8 @@
import praw import praw
from .app_log import LoggingManager from app_log import LoggingManager
from .models import Post from models import Post
from .api import PostManager, PostAnalyticsManager from api import PostManager, PostAnalyticsManager
from .webhook import WebhookNotifier from webhook import WebhookNotifier
class RedditMonitor: class RedditMonitor:

View File

@ -1,6 +1,6 @@
import requests import requests
from .app_log import LoggingManager from app_log import LoggingManager
from .models import Product, Post from models import Product, Post
class WebhookNotifier: class WebhookNotifier: