Skip to content

Commit bbcd9a3

Browse files
feat: automatically update amount of stars collected
1 parent 391be77 commit bbcd9a3

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
# Advent of Code ⭐️
2+
[![Stars collected](https://shields.io/static/v1?label=stars%20collected&message=0&color=yellow)]()
3+
24
Collection of my Advent of Code solutions
35

46
<!-- start completed section -->
57
## Completed
68
### 2020
9+
- day 01: part one –, part two –
710

811
<!-- end completed section -->

src/adventofcode/scripts/generate_readme.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ def generate_readme():
2020
'<!-- end completed section -->'
2121
)
2222

23+
readme = _update_stars(readme)
24+
2325
with open(readme_file, 'w') as f:
2426
f.write(readme)
2527

@@ -35,6 +37,22 @@ def _replace_between_tags(readme: str, content: str, start: str, end: str) -> st
3537
)
3638

3739

40+
def _update_stars(readme: str) -> str:
41+
star_count = _count_stars()
42+
43+
return re.sub(
44+
pattern=r'&message=\d+',
45+
repl=f'&message={star_count}',
46+
string=readme,
47+
flags=re.DOTALL,
48+
)
49+
50+
51+
def _count_stars() -> int:
52+
found = _find_completed_days()
53+
return sum([val for days in found.values() for parts in days.values() for val in parts.values()])
54+
55+
3856
def _create_completed_text() -> str:
3957
found = _find_completed_days()
4058

@@ -44,7 +62,7 @@ def _create_completed_text() -> str:
4462

4563
for day, parts in days.items():
4664
part_one = '⭐️' if parts['part_one'] else '–'
47-
part_two = '⭐️' if parts['part_two'] else '-'
65+
part_two = '⭐️' if parts['part_two'] else ''
4866
text.append(f'- day {day:02}: part one {part_one}, part two {part_two}')
4967

5068
text.append('')

0 commit comments

Comments
 (0)