diff --git a/.github/workflows/friends.py b/.github/workflows/friends.py index 969088c..cedf003 100644 --- a/.github/workflows/friends.py +++ b/.github/workflows/friends.py @@ -9,8 +9,9 @@ from tweepy import User def wget(url: str, file: Path): - r = requests.get(url) - file.write_bytes(r.content) + if not file.is_file(): + r = requests.get(url) + file.write_bytes(r.content) return str(file).replace('\\', '/') @@ -23,7 +24,7 @@ if __name__ == '__main__': (gen_path / 'img').mkdir(exist_ok=True, parents=True) # Loop through all friends - friends = json5.loads(Path('content/friends.json5').read_text()) + friends = json5.loads(Path('content/friends.json5').read_text('utf-8')) for f in friends: if 'twitter' not in f: continue @@ -31,12 +32,13 @@ if __name__ == '__main__': name = f['twitter'] u: User = api.get_user(screen_name=name) - f['banner'] = '/' + wget(u.profile_banner_url, gen_path / f'img/{name}-banner.jpg') + if 'profile_banner_url' in u.__dict__: + f['banner'] = '/' + wget(u.profile_banner_url, gen_path / f'img/{name}-banner.jpg') f['avatar'] = '/' + wget(u.profile_image_url_https.replace('_normal', ''), gen_path / f'img/{name}-avatar.jpg') if 'link' not in f: f['link'] = f'https://twitter.com/{name}' - (gen_path / 'friends.json').write_text(json.dumps(friends)) + (gen_path / 'friends.json').write_text(json.dumps(friends), 'utf-8') print('Done') diff --git a/.github/workflows/generator.yml b/.github/workflows/generator.yml index b233d49..e260b2a 100644 --- a/.github/workflows/generator.yml +++ b/.github/workflows/generator.yml @@ -30,7 +30,9 @@ jobs: python -m pip install pyyaml tweepy json5 requests - name: "Run generator" - run: "python .github/workflows/generator.py" + run: | + python .github/workflows/generator.py + python .github/workflows/friends.py - uses: EndBug/add-and-commit@v7 with: diff --git a/content/friends.json5 b/content/friends.json5 index c80438a..5b5cb79 100644 --- a/content/friends.json5 +++ b/content/friends.json5 @@ -1,3 +1,18 @@ [ - {name: 'Shu Lin', twitter: 'sauricat'} + {name: 'Shu Lin', twitter: 'sauricat'}, + {name: '聊聊', twitter: 'youquzhiji'}, + {name: 'Kevin G', twitter: 'KevinGaojx'}, + {name: 'Yuuta', twitter: 'NeoTrumeet'}, + {name: 'Saukiya', twitter: 'SaukiyaEX'}, + {name: 'Billchenchina', twitter: 'BillChen2001'}, + {name: '芋头 Leohearts', twitter: 'leph1art5'}, + {name: '霧雨桂子', twitter: 'kirisamelev'}, + {name: 'Sez', twitter: 'Sezruzette'}, + {name: '眠洲', twitter: 'raven_uw'}, + {name: 'Kiritake Kumi', twitter: 'nowkiritakekumi', link: 'https://niconiconi.us/'}, + {name: 'Menci', avatar: 'https://cdn-static.menci.xyz/menci-homepage/avatar.png', link: 'https://men.ci/'}, + {name: 'kunihiro', avatar: 'https://avatars.githubusercontent.com/u/34958289', link: 'https://kunihiro.me/'}, + {name: '麻薯', twitter: 'Origamitamaran'}, + {name: '完颜澄', twitter: 'zsy123515'}, + // {name: '', twitter: ''}, ] diff --git a/content/generated/friends/friends.json b/content/generated/friends/friends.json new file mode 100644 index 0000000..2c27090 --- /dev/null +++ b/content/generated/friends/friends.json @@ -0,0 +1 @@ +[{"name": "Shu Lin", "twitter": "sauricat", "banner": "/content/generated/friends/img/sauricat-banner.jpg", "avatar": "/content/generated/friends/img/sauricat-avatar.jpg", "link": "https://twitter.com/sauricat"}, {"name": "\u804a\u804a", "twitter": "youquzhiji", "avatar": "/content/generated/friends/img/youquzhiji-avatar.jpg", "link": "https://twitter.com/youquzhiji"}, {"name": "Kevin G", "twitter": "KevinGaojx", "banner": "/content/generated/friends/img/KevinGaojx-banner.jpg", "avatar": "/content/generated/friends/img/KevinGaojx-avatar.jpg", "link": "https://twitter.com/KevinGaojx"}, {"name": "Yuuta", "twitter": "NeoTrumeet", "banner": "/content/generated/friends/img/NeoTrumeet-banner.jpg", "avatar": "/content/generated/friends/img/NeoTrumeet-avatar.jpg", "link": "https://twitter.com/NeoTrumeet"}, {"name": "Saukiya", "twitter": "SaukiyaEX", "avatar": "/content/generated/friends/img/SaukiyaEX-avatar.jpg", "link": "https://twitter.com/SaukiyaEX"}, {"name": "Billchenchina", "twitter": "BillChen2001", "banner": "/content/generated/friends/img/BillChen2001-banner.jpg", "avatar": "/content/generated/friends/img/BillChen2001-avatar.jpg", "link": "https://twitter.com/BillChen2001"}, {"name": "\u828b\u5934 Leohearts", "twitter": "leph1art5", "banner": "/content/generated/friends/img/leph1art5-banner.jpg", "avatar": "/content/generated/friends/img/leph1art5-avatar.jpg", "link": "https://twitter.com/leph1art5"}, {"name": "\u9727\u96e8\u6842\u5b50", "twitter": "kirisamelev", "banner": "/content/generated/friends/img/kirisamelev-banner.jpg", "avatar": "/content/generated/friends/img/kirisamelev-avatar.jpg", "link": "https://twitter.com/kirisamelev"}, {"name": "Sez", "twitter": "Sezruzette", "banner": "/content/generated/friends/img/Sezruzette-banner.jpg", "avatar": "/content/generated/friends/img/Sezruzette-avatar.jpg", "link": "https://twitter.com/Sezruzette"}, {"name": "\u7720\u6d32", "twitter": "raven_uw", "banner": "/content/generated/friends/img/raven_uw-banner.jpg", "avatar": "/content/generated/friends/img/raven_uw-avatar.jpg", "link": "https://twitter.com/raven_uw"}, {"name": "Kiritake Kumi", "twitter": "nowkiritakekumi", "link": "https://niconiconi.us/", "banner": "/content/generated/friends/img/nowkiritakekumi-banner.jpg", "avatar": "/content/generated/friends/img/nowkiritakekumi-avatar.jpg"}, {"name": "Menci", "avatar": "https://cdn-static.menci.xyz/menci-homepage/avatar.png", "link": "https://men.ci/"}, {"name": "kunihiro", "avatar": "https://avatars.githubusercontent.com/u/34958289", "link": "https://kunihiro.me/"}, {"name": "\u9ebb\u85af", "twitter": "Origamitamaran", "banner": "/content/generated/friends/img/Origamitamaran-banner.jpg", "avatar": "/content/generated/friends/img/Origamitamaran-avatar.jpg", "link": "https://twitter.com/Origamitamaran"}, {"name": "\u5b8c\u989c\u6f84", "twitter": "zsy123515", "banner": "/content/generated/friends/img/zsy123515-banner.jpg", "avatar": "/content/generated/friends/img/zsy123515-avatar.jpg", "link": "https://twitter.com/zsy123515"}] \ No newline at end of file diff --git a/content/generated/friends/img/BillChen2001-avatar.jpg b/content/generated/friends/img/BillChen2001-avatar.jpg new file mode 100644 index 0000000..af813c3 Binary files /dev/null and b/content/generated/friends/img/BillChen2001-avatar.jpg differ diff --git a/content/generated/friends/img/BillChen2001-banner.jpg b/content/generated/friends/img/BillChen2001-banner.jpg new file mode 100644 index 0000000..3dd6f2d Binary files /dev/null and b/content/generated/friends/img/BillChen2001-banner.jpg differ diff --git a/content/generated/friends/img/KevinGaojx-avatar.jpg b/content/generated/friends/img/KevinGaojx-avatar.jpg new file mode 100644 index 0000000..d917c3c Binary files /dev/null and b/content/generated/friends/img/KevinGaojx-avatar.jpg differ diff --git a/content/generated/friends/img/KevinGaojx-banner.jpg b/content/generated/friends/img/KevinGaojx-banner.jpg new file mode 100644 index 0000000..58a5315 Binary files /dev/null and b/content/generated/friends/img/KevinGaojx-banner.jpg differ diff --git a/content/generated/friends/img/NeoTrumeet-avatar.jpg b/content/generated/friends/img/NeoTrumeet-avatar.jpg new file mode 100644 index 0000000..054d771 Binary files /dev/null and b/content/generated/friends/img/NeoTrumeet-avatar.jpg differ diff --git a/content/generated/friends/img/NeoTrumeet-banner.jpg b/content/generated/friends/img/NeoTrumeet-banner.jpg new file mode 100644 index 0000000..a6005f3 Binary files /dev/null and b/content/generated/friends/img/NeoTrumeet-banner.jpg differ diff --git a/content/generated/friends/img/Origamitamaran-avatar.jpg b/content/generated/friends/img/Origamitamaran-avatar.jpg new file mode 100644 index 0000000..bd9de20 Binary files /dev/null and b/content/generated/friends/img/Origamitamaran-avatar.jpg differ diff --git a/content/generated/friends/img/Origamitamaran-banner.jpg b/content/generated/friends/img/Origamitamaran-banner.jpg new file mode 100644 index 0000000..dc4e7be Binary files /dev/null and b/content/generated/friends/img/Origamitamaran-banner.jpg differ diff --git a/content/generated/friends/img/SaukiyaEX-avatar.jpg b/content/generated/friends/img/SaukiyaEX-avatar.jpg new file mode 100644 index 0000000..5b739c6 Binary files /dev/null and b/content/generated/friends/img/SaukiyaEX-avatar.jpg differ diff --git a/content/generated/friends/img/Sezruzette-avatar.jpg b/content/generated/friends/img/Sezruzette-avatar.jpg new file mode 100644 index 0000000..792450b Binary files /dev/null and b/content/generated/friends/img/Sezruzette-avatar.jpg differ diff --git a/content/generated/friends/img/Sezruzette-banner.jpg b/content/generated/friends/img/Sezruzette-banner.jpg new file mode 100644 index 0000000..20af7cd Binary files /dev/null and b/content/generated/friends/img/Sezruzette-banner.jpg differ diff --git a/content/generated/friends/img/kirisamelev-avatar.jpg b/content/generated/friends/img/kirisamelev-avatar.jpg new file mode 100644 index 0000000..0a8629d Binary files /dev/null and b/content/generated/friends/img/kirisamelev-avatar.jpg differ diff --git a/content/generated/friends/img/kirisamelev-banner.jpg b/content/generated/friends/img/kirisamelev-banner.jpg new file mode 100644 index 0000000..a151d96 Binary files /dev/null and b/content/generated/friends/img/kirisamelev-banner.jpg differ diff --git a/content/generated/friends/img/leph1art5-avatar.jpg b/content/generated/friends/img/leph1art5-avatar.jpg new file mode 100644 index 0000000..021959b Binary files /dev/null and b/content/generated/friends/img/leph1art5-avatar.jpg differ diff --git a/content/generated/friends/img/leph1art5-banner.jpg b/content/generated/friends/img/leph1art5-banner.jpg new file mode 100644 index 0000000..4223796 Binary files /dev/null and b/content/generated/friends/img/leph1art5-banner.jpg differ diff --git a/content/generated/friends/img/nowkiritakekumi-avatar.jpg b/content/generated/friends/img/nowkiritakekumi-avatar.jpg new file mode 100644 index 0000000..85fde42 Binary files /dev/null and b/content/generated/friends/img/nowkiritakekumi-avatar.jpg differ diff --git a/content/generated/friends/img/nowkiritakekumi-banner.jpg b/content/generated/friends/img/nowkiritakekumi-banner.jpg new file mode 100644 index 0000000..aadae75 Binary files /dev/null and b/content/generated/friends/img/nowkiritakekumi-banner.jpg differ diff --git a/content/generated/friends/img/raven_uw-avatar.jpg b/content/generated/friends/img/raven_uw-avatar.jpg new file mode 100644 index 0000000..a066ced Binary files /dev/null and b/content/generated/friends/img/raven_uw-avatar.jpg differ diff --git a/content/generated/friends/img/raven_uw-banner.jpg b/content/generated/friends/img/raven_uw-banner.jpg new file mode 100644 index 0000000..4f80486 Binary files /dev/null and b/content/generated/friends/img/raven_uw-banner.jpg differ diff --git a/content/generated/friends/img/sauricat-avatar.jpg b/content/generated/friends/img/sauricat-avatar.jpg new file mode 100644 index 0000000..868a2b8 Binary files /dev/null and b/content/generated/friends/img/sauricat-avatar.jpg differ diff --git a/content/generated/friends/img/sauricat-banner.jpg b/content/generated/friends/img/sauricat-banner.jpg new file mode 100644 index 0000000..6783a45 Binary files /dev/null and b/content/generated/friends/img/sauricat-banner.jpg differ diff --git a/content/generated/friends/img/youquzhiji-avatar.jpg b/content/generated/friends/img/youquzhiji-avatar.jpg new file mode 100644 index 0000000..57cdde1 Binary files /dev/null and b/content/generated/friends/img/youquzhiji-avatar.jpg differ diff --git a/content/generated/friends/img/zsy123515-avatar.jpg b/content/generated/friends/img/zsy123515-avatar.jpg new file mode 100644 index 0000000..fbe3da4 Binary files /dev/null and b/content/generated/friends/img/zsy123515-avatar.jpg differ diff --git a/content/generated/friends/img/zsy123515-banner.jpg b/content/generated/friends/img/zsy123515-banner.jpg new file mode 100644 index 0000000..5fcd759 Binary files /dev/null and b/content/generated/friends/img/zsy123515-banner.jpg differ