Skip to content

Commit

Permalink
add guitar center
Browse files Browse the repository at this point in the history
  • Loading branch information
ljmerza committed Jan 31, 2023
1 parent d1daa05 commit 1777102
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
27 changes: 27 additions & 0 deletions custom_components/email/parsers/guitar_center.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import logging

from bs4 import BeautifulSoup
from ..const import EMAIL_ATTR_BODY


_LOGGER = logging.getLogger(__name__)
ATTR_GUITAR_CENTER = 'guitar_center'
EMAIL_DOMAIN_GUITAR_CENTER = 'guitarcenter.com'


def parse_guitar_center(email):
"""Parse Guitar Center tracking numbers."""
tracking_numbers = []

soup = BeautifulSoup(email[EMAIL_ATTR_BODY], 'html.parser')
elements = [element for element in soup.find_all('td')]
for element in elements:
_LOGGER.error(element.text)
if 'Tracking:' in element.text:
tracking_link = element.find("a", recursive=False)
tracking_number = tracking_link.text
_LOGGER.error(tracking_number)
if tracking_number not in tracking_numbers:
tracking_numbers.append(tracking_number)

return tracking_numbers
1 change: 0 additions & 1 deletion custom_components/email/parsers/pledgebox.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ def parse_pledgebox(email):
if not line:
continue
match = re.search('^(\d{12})$', line)
_LOGGER.error(match)

if match and match.group(1) not in tracking_numbers:
tracking_numbers.append(match.group(1))
Expand Down
2 changes: 2 additions & 0 deletions custom_components/email/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
from .parsers.ubiquiti import ATTR_UBIQUITI, EMAIL_DOMAIN_UBIQUITI, parse_ubiquiti
from .parsers.nintendo import ATTR_NINTENDO, EMAIL_DOMAIN_NINTENDO, parse_nintendo
from .parsers.pledgebox import ATTR_PLEDGEBOX, EMAIL_DOMAIN_PLEDGEBOX, parse_pledgebox
from .parsers.guitar_center import ATTR_GUITAR_CENTER, EMAIL_DOMAIN_GUITAR_CENTER, parse_guitar_center


parsers = [
Expand Down Expand Up @@ -98,6 +99,7 @@
(ATTR_UBIQUITI, EMAIL_DOMAIN_UBIQUITI, parse_ubiquiti),
(ATTR_NINTENDO, EMAIL_DOMAIN_NINTENDO, parse_nintendo),
(ATTR_PLEDGEBOX, EMAIL_DOMAIN_PLEDGEBOX, parse_pledgebox),
(ATTR_GUITAR_CENTER, EMAIL_DOMAIN_GUITAR_CENTER, parse_guitar_center),
]

_LOGGER = logging.getLogger(__name__)
Expand Down

0 comments on commit 1777102

Please sign in to comment.