scrapebadger-cli 0.22.1__tar.gz → 0.23.0__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 (59) hide show
  1. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/PKG-INFO +1 -1
  2. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/pyproject.toml +1 -1
  3. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/ebay.py +10 -1
  4. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/tests/test_google_light_search.py +6 -2
  5. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/.gitignore +0 -0
  6. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/README.md +0 -0
  7. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/__init__.py +0 -0
  8. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/client.py +0 -0
  9. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/__init__.py +0 -0
  10. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/airbnb.py +0 -0
  11. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/aliexpress.py +0 -0
  12. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/amazon.py +0 -0
  13. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/apartments.py +0 -0
  14. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/app_store.py +0 -0
  15. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/asos.py +0 -0
  16. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/auth.py +0 -0
  17. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/baidu.py +0 -0
  18. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/bestbuy.py +0 -0
  19. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/bing.py +0 -0
  20. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/booking.py +0 -0
  21. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/chatgpt.py +0 -0
  22. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/depop.py +0 -0
  23. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/duckduckgo.py +0 -0
  24. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/etsy.py +0 -0
  25. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/facebook.py +0 -0
  26. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/gemini.py +0 -0
  27. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/google.py +0 -0
  28. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/google_play.py +0 -0
  29. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/gumtree.py +0 -0
  30. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/idealista.py +0 -0
  31. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/immobiliare.py +0 -0
  32. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/instagram.py +0 -0
  33. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/leboncoin.py +0 -0
  34. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/linkedin.py +0 -0
  35. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/loopnet.py +0 -0
  36. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/naver.py +0 -0
  37. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/perplexity.py +0 -0
  38. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/realtor.py +0 -0
  39. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/reddit.py +0 -0
  40. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/redfin.py +0 -0
  41. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/stream.py +0 -0
  42. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/target.py +0 -0
  43. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/tiktok.py +0 -0
  44. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/twitter.py +0 -0
  45. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/vinted.py +0 -0
  46. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/wallapop.py +0 -0
  47. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/walmart.py +0 -0
  48. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/web.py +0 -0
  49. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/yahoo.py +0 -0
  50. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/yandex.py +0 -0
  51. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/youtube.py +0 -0
  52. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/commands/zillow.py +0 -0
  53. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/config.py +0 -0
  54. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/main.py +0 -0
  55. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/src/scrapebadger_cli/output.py +0 -0
  56. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/tests/test_naver.py +0 -0
  57. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/tests/test_tiktok_pagination.py +0 -0
  58. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/tests/test_vinted_image_search.py +0 -0
  59. {scrapebadger_cli-0.22.1 → scrapebadger_cli-0.23.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: scrapebadger-cli
3
- Version: 0.22.1
3
+ Version: 0.23.0
4
4
  Summary: ScrapeBadger CLI — Twitter, Vinted, Google, and Web Scraping from the command line
5
5
  Author: ScrapeBadger Team
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "scrapebadger-cli"
3
- version = "0.22.1"
3
+ version = "0.23.0"
4
4
  description = "ScrapeBadger CLI — Twitter, Vinted, Google, and Web Scraping from the command line"
5
5
  requires-python = ">=3.10"
6
6
  license = {text = "MIT"}
@@ -69,7 +69,10 @@ def search(
69
69
 
70
70
  @app.command()
71
71
  def completed(
72
- query: str = typer.Argument(..., help="Search text"),
72
+ query: str | None = typer.Argument(None, help="Search text (optional with --seller)"),
73
+ seller: str | None = typer.Option(
74
+ None, "--seller", help="Only this seller's sold listings (eBay username)"
75
+ ),
73
76
  domain: str = DOMAIN,
74
77
  category_id: str | None = typer.Option(None, "--category-id", help="Restrict to a category"),
75
78
  page: int = typer.Option(1, "--page", "-p"),
@@ -98,11 +101,17 @@ def completed(
98
101
  --language english drops the Japanese and Chinese prints that a national
99
102
  price series should not average in. It is a separate axis from --location:
100
103
  a UK-located seller still ships Japanese cards.
104
+
105
+ --seller USERNAME limits it to one seller; with no search text it pages
106
+ through everything that seller sold.
101
107
  """
108
+ if not (query or seller):
109
+ raise typer.BadParameter("Pass query, --seller, or both.")
102
110
  data = api_get(
103
111
  "/v1/ebay/completed",
104
112
  {
105
113
  "query": query,
114
+ "seller": seller,
106
115
  "domain": domain,
107
116
  "category_id": category_id,
108
117
  "page": page,
@@ -1,7 +1,11 @@
1
1
  from unittest.mock import Mock
2
2
 
3
- from scrapebadger_cli.commands import google
4
- from typer.testing import CliRunner
3
+ import pytest
4
+
5
+ CliRunner = pytest.importorskip("typer.testing").CliRunner
6
+ google = pytest.importorskip(
7
+ "scrapebadger_cli.commands.google", reason="CLI is tested with its own installed package"
8
+ )
5
9
 
6
10
 
7
11
  def test_light_search_uses_dedicated_route(monkeypatch):