From 8444a44fa2e67251b1697a9b1ff2bc60e01d5a3f Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 6 Jul 2022 18:53:34 -0400 Subject: [PATCH] configurable site name --- boofilsic/settings.py | 2 +- mastodon/api.py | 24 +++++++++++++----------- timeline/templates/timeline.html | 2 +- users/templates/users/data.html | 8 ++++---- users/templates/users/home.html | 2 +- users/templates/users/login.html | 4 ++-- users/templates/users/preferences.html | 2 +- 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/boofilsic/settings.py b/boofilsic/settings.py index 898579bd..d0271173 100644 --- a/boofilsic/settings.py +++ b/boofilsic/settings.py @@ -200,7 +200,7 @@ AUTH_USER_MODEL = 'users.User' MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') -SITE_INFO = {'site_name': 'NeoDB', 'support_link': 'https://github.com/doubaniux/boofilsic/issues'} +SITE_INFO = {'site_name': 'NiceDB', 'support_link': 'https://github.com/doubaniux/boofilsic/issues'} # Mastodon configs CLIENT_NAME = 'NiceDB' diff --git a/mastodon/api.py b/mastodon/api.py index fc35bc96..b3772432 100644 --- a/mastodon/api.py +++ b/mastodon/api.py @@ -60,6 +60,8 @@ TWITTER_API_POST = 'https://api.twitter.com/2/tweets' TWITTER_API_TOKEN = 'https://api.twitter.com/2/oauth2/token' +USER_AGENT = f"{settings.CLIENT_NAME}/1.0" + get = functools.partial(requests.get, timeout=settings.MASTODON_TIMEOUT) post = functools.partial(requests.post, timeout=settings.MASTODON_TIMEOUT) @@ -69,7 +71,7 @@ def get_relationships(site, id_list, token): # no longer in use url = 'https://' + site + API_GET_RELATIONSHIPS payload = {'id[]': id_list} headers = { - 'User-Agent': 'NeoDB/1.0', + 'User-Agent': USER_AGENT, 'Authorization': f'Bearer {token}' } response = get(url, headers=headers, params=payload) @@ -78,7 +80,7 @@ def get_relationships(site, id_list, token): # no longer in use def post_toot(site, content, visibility, token, local_only=False): headers = { - 'User-Agent': 'NeoDB/1.0', + 'User-Agent': USER_AGENT, 'Authorization': f'Bearer {token}', 'Idempotency-Key': random_string_generator(16) } @@ -112,7 +114,7 @@ def get_instance_info(domain_name): return TWITTER_DOMAIN, '' try: url = f'https://{domain_name}/api/v1/instance' - response = get(url, headers={'User-Agent': 'NeoDB/1.0'}) + response = get(url, headers={'User-Agent': USER_AGENT}) j = response.json() return j['uri'].lower().split('//')[-1].split('/')[0], j['version'] except Exception: @@ -143,7 +145,7 @@ def create_app(domain_name): 'website': settings.APP_WEBSITE } - response = post(url, data=payload, headers={'User-Agent': 'NeoDB/1.0'}) + response = post(url, data=payload, headers={'User-Agent': USER_AGENT}) return response @@ -155,7 +157,7 @@ def get_site_id(username, user_site, target_site, token): 'q': f"{username}@{user_site}" } headers = { - 'User-Agent': 'NeoDB/1.0', + 'User-Agent': USER_AGENT, 'Authorization': f'Bearer {token}' } response = get(url, params=payload, headers=headers) @@ -224,7 +226,7 @@ def verify_account(site, token): if site == TWITTER_DOMAIN: url = TWITTER_API_ME + '?user.fields=id,username,name,description,profile_image_url,created_at,protected' try: - response = get(url, headers={'User-Agent': 'NeoDB/1.0', 'Authorization': f'Bearer {token}'}) + response = get(url, headers={'User-Agent': USER_AGENT, 'Authorization': f'Bearer {token}'}) if response.status_code != 200: logger.error(f"Error {url} {response.status_code}") return response.status_code, None @@ -240,7 +242,7 @@ def verify_account(site, token): return -1, None url = 'https://' + site + API_VERIFY_ACCOUNT try: - response = get(url, headers={'User-Agent': 'NeoDB/1.0', 'Authorization': f'Bearer {token}'}) + response = get(url, headers={'User-Agent': USER_AGENT, 'Authorization': f'Bearer {token}'}) return response.status_code, (response.json() if response.status_code == 200 else None) except Exception: return -1, None @@ -252,7 +254,7 @@ def get_related_acct_list(site, token, api): url = 'https://' + site + api results = [] while url: - response = get(url, headers={'User-Agent': 'NeoDB/1.0', 'Authorization': f'Bearer {token}'}) + response = get(url, headers={'User-Agent': USER_AGENT, 'Authorization': f'Bearer {token}'}) url = None if response.status_code == 200: results.extend(map(lambda u: (u['acct'] if u['acct'].find('@') != -1 else u['acct'] + '@' + site) if 'acct' in u else u, response.json())) @@ -322,7 +324,7 @@ def obtain_token(site, request, code): 'grant_type': 'authorization_code', 'code': code } - headers = {'User-Agent': 'NeoDB/1.0'} + headers = {'User-Agent': USER_AGENT} auth = None if mast_app.is_proxy: url = 'https://' + mast_app.proxy_to + API_OBTAIN_TOKEN @@ -356,7 +358,7 @@ def refresh_access_token(site, refresh_token): 'refresh_token': refresh_token, 'grant_type': 'refresh_token', } - headers = {'User-Agent': 'NeoDB/1.0'} + headers = {'User-Agent': USER_AGENT} auth = (mast_app.client_id, mast_app.client_secret) response = post(url, data=payload, headers=headers, auth=auth) if response.status_code != 200: @@ -379,7 +381,7 @@ def revoke_token(site, token): url = 'https://' + mast_app.proxy_to + API_REVOKE_TOKEN else: url = 'https://' + site + API_REVOKE_TOKEN - post(url, data=payload, headers={'User-Agent': 'NeoDB/1.0'}) + post(url, data=payload, headers={'User-Agent': USER_AGENT}) def share_mark(mark): diff --git a/timeline/templates/timeline.html b/timeline/templates/timeline.html index 85adc7b7..4b2929e4 100644 --- a/timeline/templates/timeline.html +++ b/timeline/templates/timeline.html @@ -40,7 +40,7 @@ - + diff --git a/users/templates/users/data.html b/users/templates/users/data.html index f48e46fa..690bdd3b 100644 --- a/users/templates/users/data.html +++ b/users/templates/users/data.html @@ -204,9 +204,9 @@
- Goodreads用户主页链接形如 https://www.goodreads.com/user/show/12345-janedoe 将自动导入到NeoDB用户的想读、在读、已读列表,每本书的评论导入为NeoDB短评; + Goodreads用户主页链接形如 https://www.goodreads.com/user/show/12345-janedoe 将自动导入到当前用户的想读、在读、已读列表,每本书的评论导入为本站短评;
- Goodreads书单链接形如 https://www.goodreads.com/review/list/12345-janedoe?shelf=name 或 https://www.goodreads.com/list/show/155086.Popular_Highlights 将自动导入成为NeoDB收藏单,每本书的评论导入为NeoDB收藏单条目备注。 + Goodreads书单链接形如 https://www.goodreads.com/review/list/12345-janedoe?shelf=name 或 https://www.goodreads.com/list/show/155086.Popular_Highlights 将自动导入成为收藏单,每本书的评论导入为收藏单条目备注。
欲导入的Goodreads用户需将Who Can View My Profile设置为anyone,导入后可改回原设置。
@@ -273,7 +273,7 @@ {% csrf_token %} 上次更新时间 {{ user.mastodon_last_refresh }}
- 为了正确高效的展示短评和评论,NeoDB会缓存你在联邦网络的关注、屏蔽和静音列表。如果你刚刚更新过帐户的上锁状态、增减过关注、静音或屏蔽,希望立即生效,可以点击这里立刻更新;这类信息也会每天自动同步。 + 为了正确高效的展示短评和评论,{{ site_name }}会缓存你在联邦网络的关注、屏蔽和静音列表。如果你刚刚更新过帐户的上锁状态、增减过关注、静音或屏蔽,希望立即生效,可以点击这里立刻更新;这类信息也会每天自动同步。
@@ -293,7 +293,7 @@
- 替换后可使用新的联邦网络身份来登录NeoDB和控制数据可见性,已有的标记评论收藏单等数据不受影响。 + 替换后可使用新的联邦网络身份来登录{{ site_name }}和控制数据可见性,已有的标记评论收藏单等数据不受影响。
diff --git a/users/templates/users/home.html b/users/templates/users/home.html index 7ab03351..17208324 100644 --- a/users/templates/users/home.html +++ b/users/templates/users/home.html @@ -20,7 +20,7 @@ - + diff --git a/users/templates/users/login.html b/users/templates/users/login.html index 3338ded8..85f88dfd 100644 --- a/users/templates/users/login.html +++ b/users/templates/users/login.html @@ -6,7 +6,7 @@ - + @@ -17,7 +17,7 @@ {{ site_name }} - {% trans '登录' %} - +