tbr-deal-finder 0.1.2__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/PKG-INFO +4 -4
  2. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/README.md +3 -3
  3. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/pyproject.toml +2 -2
  4. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/retailer/audible.py +34 -3
  5. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/uv.lock +1 -1
  6. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/.github/workflows/publish-to-pypi.yaml +0 -0
  7. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/.gitignore +0 -0
  8. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/.python-version +0 -0
  9. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/LICENSE +0 -0
  10. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/__init__.py +0 -0
  11. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/book.py +0 -0
  12. /tbr_deal_finder-0.1.2/tbr_deal_finder/main.py → /tbr_deal_finder-0.1.4/tbr_deal_finder/cli.py +0 -0
  13. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/config.py +0 -0
  14. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/library_exports.py +0 -0
  15. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/migrations.py +0 -0
  16. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/queries/get_active_deals.sql +0 -0
  17. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/queries/get_deals_found_at.sql +0 -0
  18. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/queries/latest_deal_last_ran_most_recent_success.sql +0 -0
  19. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/retailer/__init__.py +0 -0
  20. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/retailer/chirp.py +0 -0
  21. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/retailer/librofm.py +0 -0
  22. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/retailer/models.py +0 -0
  23. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/retailer_deal.py +0 -0
  24. {tbr_deal_finder-0.1.2 → tbr_deal_finder-0.1.4}/tbr_deal_finder/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tbr-deal-finder
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Track price drops and find deals on books in your TBR list across audiobook and ebook formats.
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -106,7 +106,7 @@ tbr-deal-finder setup
106
106
 
107
107
  #### UV
108
108
  ```sh
109
- uv run -m tbr_deal_finder.main setup
109
+ uv run -m tbr_deal_finder.cli setup
110
110
  ```
111
111
 
112
112
  You will be prompted to:
@@ -131,7 +131,7 @@ tbr-deal-finder [COMMAND]
131
131
 
132
132
  #### UV
133
133
  ```sh
134
- uv run -m tbr_deal_finder.main [COMMAND]
134
+ uv run -m tbr_deal_finder.cli [COMMAND]
135
135
  ```
136
136
 
137
137
  Example:
@@ -140,7 +140,7 @@ tbr-deal-finder latest-deals
140
140
 
141
141
  # or
142
142
 
143
- uv run -m tbr_deal_finder.main latest-deals
143
+ uv run -m tbr_deal_finder.cli latest-deals
144
144
  ```
145
145
 
146
146
  ## Updating your TBR
@@ -89,7 +89,7 @@ tbr-deal-finder setup
89
89
 
90
90
  #### UV
91
91
  ```sh
92
- uv run -m tbr_deal_finder.main setup
92
+ uv run -m tbr_deal_finder.cli setup
93
93
  ```
94
94
 
95
95
  You will be prompted to:
@@ -114,7 +114,7 @@ tbr-deal-finder [COMMAND]
114
114
 
115
115
  #### UV
116
116
  ```sh
117
- uv run -m tbr_deal_finder.main [COMMAND]
117
+ uv run -m tbr_deal_finder.cli [COMMAND]
118
118
  ```
119
119
 
120
120
  Example:
@@ -123,7 +123,7 @@ tbr-deal-finder latest-deals
123
123
 
124
124
  # or
125
125
 
126
- uv run -m tbr_deal_finder.main latest-deals
126
+ uv run -m tbr_deal_finder.cli latest-deals
127
127
  ```
128
128
 
129
129
  ## Updating your TBR
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tbr-deal-finder"
3
- version = "0.1.2"
3
+ version = "0.1.4"
4
4
  description = "Track price drops and find deals on books in your TBR list across audiobook and ebook formats."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -17,7 +17,7 @@ dependencies = [
17
17
  ]
18
18
 
19
19
  [project.scripts]
20
- tbr-deal-finder = "tbr-deal-finder.main:cli"
20
+ tbr-deal-finder = "tbr_deal_finder.cli:cli"
21
21
 
22
22
  [tool.setuptools.package-data]
23
23
  "tbr-deal-finder" = [
@@ -7,7 +7,7 @@ import readline # type: ignore
7
7
 
8
8
  import audible
9
9
  import click
10
- from audible.login import playwright_external_login_url_callback
10
+ from audible.login import build_init_cookies
11
11
 
12
12
  from tbr_deal_finder import TBR_DEALS_PATH
13
13
  from tbr_deal_finder.config import Config
@@ -19,10 +19,41 @@ _AUTH_PATH = TBR_DEALS_PATH.joinpath("audible.json")
19
19
 
20
20
  def login_url_callback(url: str) -> str:
21
21
  """Helper function for login with external browsers."""
22
+
22
23
  try:
23
- return playwright_external_login_url_callback(url)
24
+ from playwright.sync_api import sync_playwright # type: ignore
25
+ use_playwright = True
24
26
  except ImportError:
25
- pass
27
+ use_playwright = False
28
+
29
+ if use_playwright:
30
+ with sync_playwright() as p:
31
+ iphone = p.devices["iPhone 12 Pro"]
32
+ browser = p.webkit.launch(headless=False)
33
+ context = browser.new_context(
34
+ **iphone
35
+ )
36
+ cookies = []
37
+ for name, value in build_init_cookies().items():
38
+ cookies.append(
39
+ {
40
+ "name": name,
41
+ "value": value,
42
+ "url": url
43
+ }
44
+ )
45
+ context.add_cookies(cookies)
46
+ page = browser.new_page()
47
+ page.goto(url)
48
+
49
+ while True:
50
+ page.wait_for_timeout(600)
51
+ if "/ap/maplanding" in page.url:
52
+ response_url = page.url
53
+ break
54
+
55
+ browser.close()
56
+ return response_url
26
57
 
27
58
  message = f"""\
28
59
  Please copy the following url and insert it into a web browser of your choice to log into Amazon.
@@ -563,7 +563,7 @@ wheels = [
563
563
 
564
564
  [[package]]
565
565
  name = "tbr-deal-finder"
566
- version = "0.1.2"
566
+ version = "0.1.4"
567
567
  source = { editable = "." }
568
568
  dependencies = [
569
569
  { name = "aiohttp" },
File without changes