Skip to content

Commit 644fec3

Browse files
Clean up
1 parent 624d356 commit 644fec3

File tree

2 files changed

+6
-52
lines changed

2 files changed

+6
-52
lines changed

generate.py

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import subprocess
1616
from collections.abc import Iterator
1717
from dataclasses import dataclass, asdict
18-
from datetime import datetime, date, timedelta, timezone
18+
from datetime import datetime, timezone
1919
from pathlib import Path
2020
from tempfile import TemporaryDirectory
2121

@@ -32,43 +32,6 @@
3232
generation_time = datetime.now(timezone.utc)
3333

3434

35-
def get_cached_data() -> dict:
36-
try:
37-
with open('index.json') as f:
38-
return json.load(f)
39-
except FileNotFoundError:
40-
return {'previous_completion': {}, 'last_sunday': None}
41-
42-
43-
def get_last_sunday() -> str:
44-
today = date.today()
45-
offset = today.weekday() + 1
46-
last_sunday = today - timedelta(days=offset)
47-
return last_sunday.isoformat()
48-
49-
50-
def update_previous_completion(cached_data: dict, completion_progress: list):
51-
current_sunday = get_last_sunday()
52-
if cached_data.get('last_sunday') != current_sunday:
53-
cached_data['previous_completion'] = {
54-
item.language.code: item.completion for item in completion_progress
55-
}
56-
cached_data['last_sunday'] = current_sunday
57-
58-
59-
def save_index_json(cached_data: dict, completion_progress: list):
60-
with open('index.json', 'w') as f:
61-
json.dump(
62-
{
63-
'last_sunday': cached_data['last_sunday'],
64-
'previous_completion': cached_data['previous_completion'],
65-
'languages': [asdict(item) for item in completion_progress],
66-
},
67-
f,
68-
indent=2,
69-
)
70-
71-
7235
def get_completion_progress() -> Iterator['LanguageProjectData']:
7336
with TemporaryDirectory() as clones_dir:
7437
Repo.clone_from(
@@ -144,19 +107,15 @@ class LanguageProjectData:
144107
if __name__ == '__main__':
145108
logging.basicConfig(level=logging.INFO)
146109
logging.info(f'starting at {generation_time}')
147-
148-
cached_data = get_cached_data()
149-
completion_progress = list(get_completion_progress())
150-
151-
update_previous_completion(cached_data, completion_progress)
152-
save_index_json(cached_data, completion_progress)
153-
154110
template = Template(Path('template.html.jinja').read_text())
111+
155112
output = template.render(
156-
completion_progress=completion_progress,
157-
previous_completion=cached_data.get('previous_completion', {}),
113+
completion_progress=(completion_progress := list(get_completion_progress())),
158114
generation_time=generation_time,
159115
duration=(datetime.now(timezone.utc) - generation_time).seconds,
160116
)
161117

162118
Path('index.html').write_text(output)
119+
Path('index.json').write_text(
120+
json.dumps(completion_progress, indent=2, default=asdict)
121+
)

template.html.jinja

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,6 @@
5151
<div class="progress-bar" style="width: {{ project.completion }}%;">{{ "{:.2f}".format(project.completion) }}%</div>
5252
<div class="progress-bar-outer-label">{{ "{:.2f}".format(project.completion) }}%</div>
5353
</td>
54-
<td data-label="difference">
55-
{% set prev = previous_completion.get(project.language.code, project.completion) %}
56-
{% set diff = prev - project.completion %}
57-
{{ "{:+.2f}".format(diff) }}%
58-
</td>
5954
</tr>
6055
{% endfor %}
6156
</tbody>

0 commit comments

Comments
 (0)