This commit is contained in:
parent
a5a6f5180a
commit
ec00b0a656
|
@ -59,6 +59,8 @@ class SocialSiteId(aenum.Enum):
|
|||
SOUNDCLOUD_ARTIST = 3040
|
||||
IGDB_GAME_ID = 5794
|
||||
|
||||
GITHUB_REPOSITORY = 364
|
||||
|
||||
def wikidata_property(self, client):
|
||||
return client.get(WIKIDATA_PROPERTIES[self])
|
||||
|
||||
|
@ -130,6 +132,7 @@ WIKIDATA_PROPERTIES = {
|
|||
SocialSiteId.COHOST_PROFILE: WikidataInfo(None, 117203288),
|
||||
SocialSiteId.SOUNDCLOUD_ARTIST: WikidataInfo(3040, None),
|
||||
SocialSiteId.IGDB_GAME_ID: WikidataInfo(5794, None),
|
||||
SocialSiteId.GITHUB_REPOSITORY: WikidataInfo(None, 364),
|
||||
}
|
||||
|
||||
def re_social_subdomain(main_domain):
|
||||
|
@ -137,6 +140,7 @@ def re_social_subdomain(main_domain):
|
|||
return r'^(?:https?:\/\/)?([\w_-]+)\.'+re.escape(main_domain)+r'(\/.*)?$'
|
||||
|
||||
RE_ID = r'@?([^/]+)'
|
||||
RE_DUAL_ID = r'@?([^/]+/[^/]+)'
|
||||
RE_ANY_SUBPATH = r'(|\/|\/.*)$'
|
||||
|
||||
def re_social_path(main_domain):
|
||||
|
@ -150,7 +154,7 @@ def re_social_path_adv(main_domain, *path):
|
|||
for p in path:
|
||||
if p != RE_ANY_SUBPATH:
|
||||
l.append(r'\/')
|
||||
l.append(p if p in {RE_ID, RE_ANY_SUBPATH} else re.escape(p))
|
||||
l.append(p if p in {RE_ID, RE_DUAL_ID, RE_ANY_SUBPATH} else re.escape(p))
|
||||
if path[-1] != RE_ANY_SUBPATH:
|
||||
l.append(r'\/?$')
|
||||
regex = ''.join(l)
|
||||
|
@ -196,7 +200,6 @@ URL_PARSE_DEVIANT_ART_ACCOUNT_2 = re_social_subdomain('deviantart.com')
|
|||
URL_PARSE_DANBOORU_ARTIST = re_social_path_adv('danbooru.donmai.us', 'artists', RE_ID)
|
||||
URL_PARSE_BANDCAMP = re_social_subdomain('bandcamp.com')
|
||||
URL_PARSE_BLUESKY = re_social_path_adv('bsky.app', 'profile', RE_ID)
|
||||
URL_PARSE_ITCH_IO_DEVELOPER = re_social_subdomain('itch.io')
|
||||
|
||||
REGEXES = [
|
||||
# Reddit
|
||||
|
@ -296,7 +299,7 @@ REGEXES = [
|
|||
(URL_PARSE_BLUESKY, SocialSiteId.BLUESKY_PROFILE),
|
||||
|
||||
# Itch.io
|
||||
(URL_PARSE_ITCH_IO_DEVELOPER, SocialSiteId.ITCH_IO_DEVELOPER),
|
||||
(re_social_subdomain('itch.io'), SocialSiteId.ITCH_IO_DEVELOPER),
|
||||
|
||||
# Cohost
|
||||
(re_social_path_adv('cohost.org', RE_ID), SocialSiteId.COHOST_PROFILE),
|
||||
|
@ -306,6 +309,9 @@ REGEXES = [
|
|||
|
||||
# IGDB
|
||||
(re_social_path_adv('igdb.com', 'games', RE_ID), SocialSiteId.IGDB_GAME_ID),
|
||||
|
||||
# Github
|
||||
(re_social_path_adv('github.com', RE_DUAL_ID), SocialSiteId.GITHUB_REPOSITORY),
|
||||
]
|
||||
|
||||
WELL_KNOWN_MASTODON_INSTANCES = frozenset({
|
||||
|
|
Loading…
Reference in New Issue
Block a user