diff --git a/plugins/market-research/skills/market-research/scripts/play.py b/plugins/market-research/skills/market-research/scripts/play.py index e54aaa2..f565bb4 100755 --- a/plugins/market-research/skills/market-research/scripts/play.py +++ b/plugins/market-research/skills/market-research/scripts/play.py @@ -67,9 +67,9 @@ def parse_details(html, package): try: out["rating"] = float(ar["ratingValue"]) except Exception: pass break - m = re.search(r'([\d,]+\+)\s*]+>\s*<[^>]*>\s*Downloads', html) + m = re.search(r'([\d.,]+[KMB]?\+)\s*]+>\s*<[^>]*>\s*Downloads', html) if not m: - m = re.search(r'([\d,]+\+)\s*\s*Downloads', html) + m = re.search(r'([\d.,]+[KMB]?\+)\s*\s*Downloads', html) if m: out["installs"] = m.group(1) m = re.search(r'Updated on\s*]+>\s*<[^>]*>([^<]+)]+>', html) diff --git a/plugins/market-research/tests/fixtures/play-details.html b/plugins/market-research/tests/fixtures/play-details.html index 4a549ce..d3553da 100644 --- a/plugins/market-research/tests/fixtures/play-details.html +++ b/plugins/market-research/tests/fixtures/play-details.html @@ -3,6 +3,6 @@ {"@type":"SoftwareApplication","name":"Habit Tracker","author":{"name":"Focus Labs"}, "applicationCategory":"Productivity","aggregateRating":{"ratingValue":"4.6","ratingCount":"120000"}} -
5,000,000+
Downloads
+
1B+
Downloads
Updated on
Jun 1, 2026
diff --git a/plugins/market-research/tests/test-play.py b/plugins/market-research/tests/test-play.py index fa8d4cb..a30b8bf 100644 --- a/plugins/market-research/tests/test-play.py +++ b/plugins/market-research/tests/test-play.py @@ -20,7 +20,7 @@ def main(): check("play_url", r["play_url"] == "https://play.google.com/store/apps/details?id=com.example.habit") check("name", r["name"] == "Habit Tracker") check("rating", r["rating"] == 4.6) - check("installs", r["installs"] == "5,000,000+") + check("installs", r["installs"] == "1B+") check("last_updated", r["last_updated"] == "Jun 1, 2026") check("developer", r["developer"] == "Focus Labs")