Skip to content

Commit

Permalink
Update download.py [getcard.py unfinished]
Browse files Browse the repository at this point in the history
  • Loading branch information
RaineMtF authored Jan 17, 2025
1 parent 1732f3d commit 2b1f64f
Show file tree
Hide file tree
Showing 8 changed files with 184 additions and 85 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ on:
workflow_dispatch:

permissions:
contents: write # Required for actions/upload-pages-artifact
pages: write # Required for actions/deploy-pages
id-token: write # Required for actions/deploy-pages
contents: write
pages: write
id-token: write

jobs:
build:
Expand Down Expand Up @@ -39,4 +39,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v4
35 changes: 35 additions & 0 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Update

on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"

permissions:
contents: write

jobs:
update:
name: Update Data
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Dependencies
run: pip install -r ./requirements.txt
- name: Update Data
run: |
cd script
python download.py
- name: Upload File
run: |
if [[ `git status --porcelain` ]]; then
git add .
git commit -m "Update Submodule"
git push
else
echo Pass
fi
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
script/__pycache__/
script/*.json
script/data/*
80 changes: 65 additions & 15 deletions script/download.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,74 @@
import os
import requests
import json

def download_file(url, filename):
try:
response = requests.get(url)
response.raise_for_status()
with open(filename, 'wb') as file:
file.write(response.content)
print(f"文件已下载并保存为: {filename}")
except requests.exceptions.RequestException as e:
print(f"下载文件时出错: {e}")
def fetch_json(url):
response = requests.get(url)
response.raise_for_status()
data = response.json()
return data

def combine(hide, birthday, people):
print(hide, birthday, people)
def load_json(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
data = json.load(file)
return data

ren = {
'出生': 'born',
'Born': 'born',
'逝世': 'departed',
'Departed': 'departed',
'昵称': 'alias',
'Alias': 'alias',
'地区': 'location',
'Location': 'location',
'年龄': 'age',
'Age': 'age'
}

def get_json(path):
info = load_json(f'./data/people/{path}/info.json')
info_en = load_json(f'./data/people/{path}/info.en.json')

data = {}
for item in info['info']:
data[ren[item[0]]] = item[1]

data_en = {}
for item in info_en['info']:
data_en[ren[item[0]]] = item[1]

def m_get(data_lang, id, none='None'):
return data_lang[id] if (id in data_lang) else none

assert m_get(info, 'id') == path

content = {
'id': path,
'name': m_get(info, 'name'),
'name_en': m_get(info_en, 'name'),
'alias': m_get(data, 'alias', path),
'alias_en': m_get(data_en, 'alias', path),
'born': m_get(data, 'born', None),
'departed': m_get(data, 'departed', None),
'age': m_get(data, 'age', 'N/A'),
'location': m_get(data, 'location', '未知'),
'location_en': m_get(data_en, 'location', 'Unknown'),
'avatar': './' + info['profileUrl'].format(path=path)[1:]
}

# print(path, content)

return content

def Main():
download_file('https://github.com/one-among-us/data/raw/refs/heads/main/data/hdata.json', 'hide.json')
download_file('https://github.com/one-among-us/data/raw/refs/heads/gh-pages/birthday-list.json', 'birthday.json')
download_file('https://github.com/one-among-us/data/raw/refs/heads/gh-pages/people-list.json', 'people.json')
combine('hide.json', 'birthday.json', 'people.jspn')
content = []
os.system('git clone https://github.com/one-among-us/data.git --single-branch --branch gh-pages --depth=1')
for item in load_json('./data/people-home-list.json'):
content.append(get_json(item['path']))
# print(content)
with open('people.json', 'w', encoding='utf-8') as file:
json.dump(content, file, ensure_ascii=False, indent=4)

if __name__ == "__main__":
Main()
30 changes: 16 additions & 14 deletions script/getcard.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
def getcardl(i):
def getcard_b(i):
return {
'name': '名字',
'name_eng': 'Unknown',
'remark': 'awa',
'nickname': '这是昵称',
'nickname_eng': 'meow',
'name_en': 'Unknown',
'id': 'awa',
'alias': '这是昵称',
'alias_en': 'meow',
'date': '2099-99-99',
'age': 100,
'countdown': -1,
'region': '未知',
'region_eng': '>_<',
'location': '未知',
'location_en': '>_<',
'avatar': 'https://avatars.githubusercontent.com/u/192512683'
}

def getcardr(i):
def getcard_d(i):
return {
'name': '名字',
'name_eng': 'Unknown',
'remark': 'awa',
'nickname': '这是昵称',
'nickname_eng': 'meow',
'name_en': 'Unknown',
'id': 'awa',
'alias': '这是昵称',
'alias_en': 'meow',
'date': '2099-99-99',
'age': 100,
'countdown': -1,
'region': '未知',
'region_eng': '>_<',
'location': '未知',
'location_en': '>_<',
'avatar': 'https://avatars.githubusercontent.com/u/192512683'
}
28 changes: 14 additions & 14 deletions script/main.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import os
import download
import getcard

def m_format(content):
card = [
getcard.getcardl(0),
getcard.getcardr(0),
getcard.getcardl(1),
getcard.getcardl(2),
getcard.getcardr(1),
getcard.getcardr(2)
getcard.getcard_b(0),
getcard.getcard_d(0),
getcard.getcard_b(1),
getcard.getcard_b(2),
getcard.getcard_d(1),
getcard.getcard_d(2)
]

def m_get(id):
Expand All @@ -19,19 +18,18 @@ def m_get(id):
subtitle = "小标题",
name = m_get('name'),
name_eng = m_get('name_eng'),
remark = m_get('remark'),
nickname = m_get('nickname'),
nickname_eng = m_get('nickname_eng'),
id = m_get('id'),
alias = m_get('alias'),
alias_eng = m_get('alias_eng'),
date = m_get('date'),
age = m_get('age'),
countdown = m_get('countdown'),
region = m_get('region'),
region_eng = m_get('region_eng'),
location = m_get('location'),
location_eng = m_get('location_eng'),
avatar = m_get('avatar')
) + "\n\n<!-- 这个页面是自动生成的 -->"

def Main():
# download.Main()

file_path = '../src/index.html'
backup_path = '../src/index.html.bak'

Expand All @@ -41,6 +39,8 @@ def Main():
with open(file_path, 'w', encoding='utf-8') as file:
file.write(m_format(content))
print("文件处理完成")

os.remove(backup_path)

if __name__ == "__main__":
Main()
84 changes: 48 additions & 36 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,100 +21,112 @@ <h1 class="main-title" id="mainTitle">记忆</h1>
<article class="content chn">
<section class="card large-card" id="card1">
<div class="avatar" style="background-image: url({avatar[1]});"></div>
<h2>{name[1]}<span class="remark">@{remark[1]}</span></h2>
<p>昵称:{nickname[1]}</p>
<h2>{name[1]}<span class="id">@{id[1]}</span></h2>
<p>昵称:{alias[1]}</p>
<p>逝世:{date[1]}</p>
<p>年龄:{age[1]}</p>
<p>倒计时:{countdown[1]} 天</p>
<p>地区:{region[1]}</p>
<p>地区:{location[1]}</p>
</section>
<section class="card large-card" id="card2">
<div class="avatar" style="background-image: url({avatar[2]});"></div>
<h2>{name[2]}<span class="remark">@{remark[2]}</span></h2>
<p>昵称:{nickname[2]}</p>
<h2>{name[2]}<span class="id">@{id[2]}</span></h2>
<p>昵称:{alias[2]}</p>
<p>出生:{date[2]}</p>
<p>年龄:{age[2]}</p>
<p>倒计时:{countdown[2]} 天</p>
<p>地区:{region[2]}</p>
<p>地区:{location[2]}</p>
</section>
<div class="bottom-content">
<section class="card" id="card3">
<h2>{name[3]}<span class="remark hidden">@{remark[3]}</span></h2>
<p>昵称:{nickname[3]}</p>
<h2>{name[3]}<span class="id hidden">@{id[3]}</span></h2>
<p>昵称:{alias[3]}</p>
<p>逝世:{date[3]}</p>
<p>年龄:{age[3]}</p>
<p>倒计时:{countdown[3]} 天</p>
<p>地区:{region[3]}</p>
<p>地区:{location[3]}</p>
</section>
<section class="card" id="card4">
<h2>{name[4]}<span class="remark hidden">@{remark[4]}</span></h2>
<p>昵称:{nickname[4]}</p>
<h2>{name[4]}<span class="id hidden">@{id[4]}</span></h2>
<p>昵称:{alias[4]}</p>
<p>逝世:{date[4]}</p>
<p>年龄:{age[4]}</p>
<p>倒计时:{countdown[4]} 天</p>
<p>地区:{region[4]}</p>
<p>地区:{location[4]}</p>
</section>
</div>
<div class="bottom-content">
<section class="card" id="card5">
<h2>{name[5]}<span class="remark hidden">@{remark[5]}</span></h2>
<p>昵称:{nickname[5]}</p>
<h2>{name[5]}<span class="id hidden">@{id[5]}</span></h2>
<p>昵称:{alias[5]}</p>
<p>出生:{date[5]}</p>
<p>年龄:{age[5]}</p>
<p>倒计时:{countdown[5]} 天</p>
<p>地区:{region[5]}</p>
<p>地区:{location[5]}</p>
</section>
<section class="card" id="card6">
<h2>{name[6]}<span class="remark hidden">@{remark[6]}</span></h2>
<p>昵称:{nickname[6]}</p>
<h2>{name[6]}<span class="id hidden">@{id[6]}</span></h2>
<p>昵称:{alias[6]}</p>
<p>出生:{date[6]}</p>
<p>年龄:{age[6]}</p>
<p>倒计时:{countdown[6]} 天</p>
<p>地区:{region[6]}</p>
<p>地区:{location[6]}</p>
</section>
</div>
</article>
<article class="content eng hidden">
<section class="card large-card" id="card1_eng">
<div class="avatar" style="background-image: url({avatar[1]});"></div>
<h2>{name_eng[1]}<span class="remark">@{remark[1]}</span></h2>
<p>Nickname: {nickname_eng[1]}</p>
<h2>{name_eng[1]}<span class="id">@{id[1]}</span></h2>
<p>Alias: {alias_eng[1]}</p>
<p>Departed: {date[1]}</p>
<p>Age: {age[1]}</p>
<p>Countdown: {countdown[1]} day(s)</p>
<p>Location: {region_eng[1]}</p>
<p>Location: {location_eng[1]}</p>
</section>
<section class="card large-card" id="card2_eng">
<div class="avatar" style="background-image: url({avatar[2]});"></div>
<h2>{name_eng[2]}<span class="remark">@{remark[2]}</span></h2>
<p>Nickname: {nickname_eng[2]}</p>
<h2>{name_eng[2]}<span class="id">@{id[2]}</span></h2>
<p>Alias: {alias_eng[2]}</p>
<p>Born: {date[2]}</p>
<p>Age: {age[2]}</p>
<p>Countdown: {countdown[2]} day(s)</p>
<p>Location: {region_eng[2]}</p>
<p>Location: {location_eng[2]}</p>
</section>
<div class="bottom-content">
<section class="card" id="card3_eng">
<h2>{name_eng[3]}<span class="remark hidden">@{remark[3]}</span></h2>
<p>Nickname: {nickname_eng[3]}</p>
<h2>{name_eng[3]}<span class="id hidden">@{id[3]}</span></h2>
<p>Alias: {alias_eng[3]}</p>
<p>Departed: {date[3]}</p>
<p>Age: {age[3]}</p>
<p>Countdown: {countdown[3]} day(s)</p>
<p>Location: {region_eng[3]}</p>
<p>Location: {location_eng[3]}</p>
</section>
<section class="card" id="card4_eng">
<h2>{name_eng[4]}<span class="remark hidden">@{remark[4]}</span></h2>
<p>Nickname: {nickname_eng[4]}</p>
<h2>{name_eng[4]}<span class="id hidden">@{id[4]}</span></h2>
<p>Alias: {alias_eng[4]}</p>
<p>Departed: {date[4]}</p>
<p>Age: {age[4]}</p>
<p>Countdown: {countdown[4]} day(s)</p>
<p>Location: {region_eng[4]}</p>
<p>Location: {location_eng[4]}</p>
</section>
</div>
<div class="bottom-content">
<section class="card" id="card5_eng">
<h2>{name_eng[5]}<span class="remark hidden">@{remark[5]}</span></h2>
<p>Nickname: {nickname_eng[5]}</p>
<h2>{name_eng[5]}<span class="id hidden">@{id[5]}</span></h2>
<p>Alias: {alias_eng[5]}</p>
<p>Born: {date[5]}</p>
<p>Age: {age[5]}</p>
<p>Countdown: {countdown[5]} day(s)</p>
<p>Location: {region_eng[5]}</p>
<p>Location: {location_eng[5]}</p>
</section>
<section class="card" id="card6_eng">
<h2>{name_eng[6]}<span class="remark hidden">@{remark[6]}</span></h2>
<p>Nickname: {nickname_eng[6]}</p>
<h2>{name_eng[6]}<span class="id hidden">@{id[6]}</span></h2>
<p>Alias: {alias_eng[6]}</p>
<p>Born: {date[6]}</p>
<p>Age: {age[6]}</p>
<p>Countdown: {countdown[6]} day(s)</p>
<p>Location: {region_eng[6]}</p>
<p>Location: {location_eng[6]}</p>
</section>
</div>
</article>
Expand Down
Loading

0 comments on commit 2b1f64f

Please sign in to comment.