[+] Generate
@@ -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')
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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: ''},
|
||||
]
|
||||
|
||||
@@ -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"}]
|
||||
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 52 KiB |