Harden giant receipt fetch CLI
This commit is contained in:
@@ -1,28 +1,17 @@
|
||||
import requests
|
||||
import browser_cookie3
|
||||
import unittest
|
||||
|
||||
BASE = "https://giantfood.com"
|
||||
ACCOUNT_PAGE = f"{BASE}/account/history/invoice/in-store"
|
||||
|
||||
USER_ID = "369513017"
|
||||
LOYALTY = "440155630880"
|
||||
try:
|
||||
import browser_cookie3 # noqa: F401
|
||||
import requests # noqa: F401
|
||||
except ImportError as exc: # pragma: no cover - dependency-gated smoke test
|
||||
browser_cookie3 = None
|
||||
_IMPORT_ERROR = exc
|
||||
else:
|
||||
_IMPORT_ERROR = None
|
||||
|
||||
cj = browser_cookie3.firefox(domain_name="giantfood.com")
|
||||
|
||||
s = requests.Session()
|
||||
s.cookies.update(cj)
|
||||
s.headers.update({
|
||||
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0",
|
||||
"accept": "application/json, text/plain, */*",
|
||||
"accept-language": "en-US,en;q=0.9",
|
||||
"referer": ACCOUNT_PAGE,
|
||||
})
|
||||
|
||||
r = s.get(
|
||||
f"{BASE}/api/v6.0/user/{USER_ID}/order/history",
|
||||
params={"filter": "instore", "loyaltyNumber": LOYALTY},
|
||||
timeout=30,
|
||||
)
|
||||
|
||||
print(r.status_code)
|
||||
print(r.text[:500])
|
||||
@unittest.skipIf(browser_cookie3 is None, f"optional smoke test dependency missing: {_IMPORT_ERROR}")
|
||||
class BrowserCookieSmokeTest(unittest.TestCase):
|
||||
def test_dependencies_available(self):
|
||||
self.assertIsNotNone(browser_cookie3)
|
||||
|
||||
Reference in New Issue
Block a user