diff --git a/socials_util/__init__.py b/socials_util/__init__.py index 632b5eb..bcddf9f 100644 --- a/socials_util/__init__.py +++ b/socials_util/__init__.py @@ -26,6 +26,7 @@ class SocialSiteId(aenum.Enum): BLUESKY_DID = 12409 THREADS_USERNAME = 11892 COHOST_PROFILE = 117203288 + PLURK = 32111 # Blogs and feeds RSS_FEED = 3 @@ -38,41 +39,43 @@ class SocialSiteId(aenum.Enum): # Video TWITCH = 6 + # Artists portfolio + ARTSTATION_PAGE = 13 + PIXIV_USER_ID = 5435 + PIXIV_USER_NICKNAME = 31 + INPRNT_PAGE = 14 + BEHANCE_PAGE = 21 + NEWGROUNDS_PAGE = 28 + ARTSY_ARTIST = 2042 + ARTNET_ARTIST = 3782 + DEVIANT_ART_ACCOUNT = 7737 + CARA_PROFILE = 35 + + # Socials aggregators + WIKIDATA = 7 + CARRD_PAGE = 24 + LINK_COLLECTION_PAGE = 29 + DANBOORU_ARTIST = 30 + # Misc PAGE_WATCH = 4 LINKTREE_PAGE = 5 - WIKIDATA = 7 SONGKICK_ARTIST = 8 - ARTSTATION_PAGE = 13 - INPRNT_PAGE = 14 FACEBOOK_PAGE = 15 EMAIL = 16 JSON_LD = 17 # Similar to PAGE_WATCH, but focused on embedded microdata ETSY_SHOP = 19 KO_FI = 20 - BEHANCE_PAGE = 21 TIKTOK_USER = 7085 - PIXIV_USER_ID = 5435 - PIXIV_USER_NICKNAME = 31 - CARRD_PAGE = 24 YOUTUBE_CHANNEL_HANDLE = 26 YOUTUBE_CHANNEL_ID = 2397 VIMEO_CHANNEL = 27 - NEWGROUNDS_PAGE = 28 - ARTSY_ARTIST = 2042 - ARTNET_ARTIST = 3782 - LINK_COLLECTION_PAGE = 29 - DEVIANT_ART_ACCOUNT = 7737 - DANBOORU_ARTIST = 30 BANDCAMP_PROFILE = 3283 ITCH_IO_DEVELOPER = 8176 SOUNDCLOUD_ARTIST = 3040 IGDB_GAME_ID = 5794 STEAM_APPLICATION_ID = 1733 - GITHUB_REPOSITORY = 364 - - PLURK = 32111 LINKEDIN_PERSONAL_PROFILE = 6634 # Browser bookmarks @@ -178,6 +181,7 @@ WIKIDATA_PROPERTIES: dict[SocialSiteId | int, WikidataInfo] = { SocialSiteId.BEHANCE_PAGE: WikidataInfo(None, 4880667), SocialSiteId.PLURK: WikidataInfo(None, 32111), SocialSiteId.GOOGLE_BLOGGER_PAGE: WikidataInfo(None, 171186), + SocialSiteId.CARA_PROFILE: WikidataInfo(None, None), # Weird internal SocialSiteId.LINK_COLLECTION_PAGE: WikidataInfo(None, None), SocialSiteId.PAGE_WATCH: WikidataInfo(None, None), @@ -396,6 +400,8 @@ REGEXES: list[tuple[str, object]] = [ ), # Google Blogger (re_social_subdomain('blogspot.com'), SocialSiteId.GOOGLE_BLOGGER_PAGE), + # Cara + (re_social_path_adv('cara.app', RE_ID, RE_ANY_SUBPATH), SocialSiteId.CARA_PROFILE), ] WELL_KNOWN_MASTODON_INSTANCES: frozenset[str] = frozenset( diff --git a/test/test_parsing.py b/test/test_parsing.py index 80d811a..a32ad8a 100644 --- a/test/test_parsing.py +++ b/test/test_parsing.py @@ -178,6 +178,10 @@ PARSABLE_SOCIAL_IDS_COMBINED: list[tuple[str, object, str]] = [ 'solquiet', ), ('https://solquiet.deviantart.com/', SocialSiteId.DEVIANT_ART_ACCOUNT, 'solquiet'), + + # Cara + ('https://cara.app/simzart', SocialSiteId.CARA_PROFILE, 'simzart'), + ('https://cara.app/simzart/all', SocialSiteId.CARA_PROFILE, 'simzart'), ] NOT_PARSABLE = [