Implement logging #2

Merged
agatha merged 2 commits from dev-logging into master 2023-12-02 21:40:23 +00:00
2 changed files with 9 additions and 2 deletions

View File

@ -1,2 +1,3 @@
beautifulsoup4 beautifulsoup4
requests requests
loguru

View File

@ -1,6 +1,7 @@
"""buyvm stock checker""" """buyvm stock checker"""
import requests import requests
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from loguru import logger
from config import DISCORD_WEBHOOK from config import DISCORD_WEBHOOK
@ -17,7 +18,7 @@ def send_notification(payload):
try: try:
requests.post(DISCORD_WEBHOOK, json=payload) requests.post(DISCORD_WEBHOOK, json=payload)
except requests.RequestException as e: except requests.RequestException as e:
print(f'error sending notification: {str(e)}') logger.error(f'error sending notification: {str(e)}')
def get_url(url): def get_url(url):
@ -25,7 +26,7 @@ def get_url(url):
response = requests.get(url) response = requests.get(url)
response.raise_for_status() response.raise_for_status()
except requests.RequestException as e: except requests.RequestException as e:
print(f'error fetching {url}: {str(e)}') logger.error(f'error fetching {url}: {str(e)}')
return None return None
return response.text return response.text
@ -58,12 +59,17 @@ def get_packages(html):
def main(): def main():
logger.info('checking buyvm stocks')
for url in URLS: for url in URLS:
html = get_url(url) html = get_url(url)
if not html:
continue
packages = get_packages(html) packages = get_packages(html)
for package in packages: for package in packages:
if package['qty'] > 0: if package['qty'] > 0:
logger.info(f"{package['name']}: {package['qty']} in stock")
send_notification({ send_notification({
"username": "stockbot-buyvm", "username": "stockbot-buyvm",
"embeds": [ "embeds": [