From f44ced49464b46d3af91bab6c18b3ea779ca60e9 Mon Sep 17 00:00:00 2001 From: Ching Date: Fri, 11 Feb 2022 22:13:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(scripts):=20=E4=BF=AE=E5=A4=8D=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=AF=BC=E8=87=B4=E9=87=8D=E5=A4=8D=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=20logger=20=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复可能导致重复发送图片的问题;修改 logger 位置 Signed-off-by: Ching --- dsite/settings_default.py | 2 ++ scripts/ins2mastodon.py | 15 +++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/dsite/settings_default.py b/dsite/settings_default.py index cc9a644..f2065ab 100644 --- a/dsite/settings_default.py +++ b/dsite/settings_default.py @@ -147,3 +147,5 @@ MASTODON_SYNCED_IMAGES_LOG = '' IG_PRIVATE_API_SETTINGS = '' IG_LOGIN_USERNAME = '' IG_LOGIN_PASSWORD = '' + +MASTODON_NOFAN_ACCESS_TOKEN = '' diff --git a/scripts/ins2mastodon.py b/scripts/ins2mastodon.py index 112e675..2d4c7f4 100755 --- a/scripts/ins2mastodon.py +++ b/scripts/ins2mastodon.py @@ -22,8 +22,9 @@ import logging from dsite import settings -logger = logging.getLogger('dsite.' + __name__) -mastodon_cli = Mastodon(access_token='Ug_bUMWCk3RLamOnqYIytmeB0nO6aNfjdmf06mAj2bE', api_base_url='https://nofan.xyz') +logging.basicConfig(filename='/root/develop/log/ins2mastodon.log', level=logging.INFO) +logger = logging.getLogger('/root/develop/log/ins2mastodon.log') +mastodon_cli = Mastodon(access_token=settings.MASTODON_NOFAN_ACCESS_TOKEN, api_base_url='https://nofan.xyz') def send_image_to_mastodon(image_url, text): @@ -37,7 +38,10 @@ def send_image_to_mastodon(image_url, text): if toot_resp.get('id'): media_ids = [toot_resp['id']] mastodon_cli.status_post(text, media_ids=media_ids) - print(text) + logger.info('send %s', text) + image_name = urlparse(url).path.split('/')[-1] + with open(settings.MASTODON_SYNCED_IMAGES_LOG, 'a') as f: + f.write(image_name + '\n') # write binary file with api.settings @@ -73,10 +77,9 @@ if __name__ == '__main__': with open(settings.MASTODON_SYNCED_IMAGES_LOG, 'r') as f: send_images = f.readlines() send_images = [x.strip() for x in send_images] - if image_url not in send_images: + image_name = urlparse(image_url).path.split('/')[-1] + if image_name not in send_images: send_image_to_mastodon(image_url, text) - with open(settings.MASTODON_SYNCED_IMAGES_LOG, 'a') as f: - f.write(image_url + '\n') except Exception as e: logger.error(e) time.sleep(60)