first_test

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-26 19:26:17 +08:00
commit b34239f5ea
29 changed files with 138300 additions and 0 deletions

73
source/sort_up_main.py Normal file
View File

@@ -0,0 +1,73 @@
import re
input_file = r'D:\Code\Python\followlist\source\output\reports\bbb.md'
output_file = r'D:\Code\Python\followlist\source\output\reports\bbb.md'
with open(input_file, 'r', encoding='utf-8') as f:
content = f.read()
lines = content.split('\n')
header_lines = []
section_starts = []
for i, line in enumerate(lines):
if line.startswith('## '):
section_starts.append(i)
if len(section_starts) < 2:
print('No sections found')
exit()
header = '\n'.join(lines[:section_starts[0]])
sections_data = []
for idx in range(len(section_starts)):
start = section_starts[idx]
if idx + 1 < len(section_starts):
end = section_starts[idx + 1]
else:
end = len(lines)
section_lines = lines[start:end]
section_text = '\n'.join(section_lines)
sections_data.append(section_text)
sections_data = sections_data[1:]
parsed = []
for sec in sections_data:
match = re.match(r'^## (\d+)\. (.+) \(mid: (\d+)\)', sec)
if match:
num = int(match.group(1))
name = match.group(2)
mid = match.group(3)
parsed.append({
'num': num,
'name': name,
'mid': mid,
'content': sec
})
def sort_key(item):
name = item['name']
first_char = name[0].lower() if name else ''
if first_char.isdigit():
return '0' + first_char
elif first_char.isalpha():
return '1' + first_char
else:
return '2' + first_char
parsed.sort(key=sort_key)
new_content = header + '\n'
for i, sec in enumerate(parsed):
new_content += sec['content'] + '\n'
with open(output_file, 'w', encoding='utf-8') as f:
f.write(new_content)
print(f'Sorted {len(parsed)} sections')
print('First 10:')
for s in parsed[:10]:
print(f' {s["name"]}')