diff --git a/Douyin.py b/Douyin.py index 1a7cba9..dd94670 100644 --- a/Douyin.py +++ b/Douyin.py @@ -77,6 +77,8 @@ def build_video_page_url(aweme_id: str) -> str: def parse_target_input(value: str, source: str) -> ResolvedTarget: normalized = value.strip() + if is_recommendation_url(normalized): + return ResolvedTarget(kind="recommendation", value=normalized, source=source) if is_creator_url(normalized): return ResolvedTarget(kind="creator", value=normalized, source=source) if is_video_url(normalized): diff --git a/test_douyin.py b/test_douyin.py index 17ae59a..e1c5763 100644 --- a/test_douyin.py +++ b/test_douyin.py @@ -144,6 +144,13 @@ class DouyinModuleTests(unittest.TestCase): self.assertTrue(module.is_aweme_id("7619989983668240802")) self.assertFalse(module.is_aweme_id("not-an-aweme-id")) + def test_parse_target_input_classifies_recommendation_url(self) -> None: + module = importlib.import_module("Douyin") + target = module.parse_target_input("https://www.douyin.com/", source="manual") + self.assertEqual(target.kind, "recommendation") + self.assertEqual(target.value, "https://www.douyin.com/") + self.assertEqual(target.source, "manual") + def test_parse_target_input_classifies_creator_url(self) -> None: module = importlib.import_module("Douyin") target = module.parse_target_input(