Skip to content

Commit

Permalink
fix: handle .c files as well in France-IOI problems
Browse files Browse the repository at this point in the history
  • Loading branch information
omar-besbes committed Oct 11, 2024
1 parent ad853f4 commit a0ab5ef
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
4 changes: 2 additions & 2 deletions scripts/France-IOI/README.template.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ Accepted solutions of [France-IOI problemset](https://www.france-ioi.org/algo/ch
### {{ chapter }}

{% for problem in content.problems %}
1. <a href="{{ level | replace(' ', '%20') }}/{{ chapter | replace(' ', '%20') }}/{{ problem.title | replace(' ', '%20') }}.cpp"> 💻 {{ problem.title }} </a>
1. <a href="{{ level | replace(' ', '%20') }}/{{ chapter | replace(' ', '%20') }}/{{ problem.title | replace(' ', '%20') }}.{{ problem.extension }}"> 💻 {{ problem.title }} </a>
{% endfor %}

{% for part in content.parts %}

1. **{{ part.part }}**

{% for subproblem in part.problems %}
1. <a href="{{ level | replace(' ', '%20') }}/{{ chapter | replace(' ', '%20') }}/{{ part.part | replace(' ', '%20') }}/{{ subproblem.title | replace(' ', '%20') }}.cpp"> 💻 {{ subproblem.title }} </a>
1. <a href="{{ level | replace(' ', '%20') }}/{{ chapter | replace(' ', '%20') }}/{{ part.part | replace(' ', '%20') }}/{{ subproblem.title | replace(' ', '%20') }}.{{ subproblem.extension }}"> 💻 {{ subproblem.title }} </a>
{% endfor %}

{% endfor %}
Expand Down
9 changes: 4 additions & 5 deletions scripts/France-IOI/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,17 @@ def generate_data_from_folder(path):
part_data = []
for idx, file in enumerate(sorted(os.listdir(part_or_file_path))):
if file.endswith('.cpp') or file.endswith('.c'):
problem_title = file.rsplit('.', 1)[0]
[problem_title, extension] = file.rsplit('.', 1)
problem_id = idx + 1
part_data.append({"id": problem_id, "title": problem_title})
part_data.append({"id": problem_id, "title": problem_title, "extension": extension})
if part_data:
chapter_data["parts"].append({"part": part_or_file, "problems": part_data})
else:
# Handle problems directly in the chapter
if part_or_file.endswith('.cpp') or part_or_file.endswith('.c'):
problem_title = part_or_file.rsplit('.', 1)[0]
[problem_title, extension] = part_or_file.rsplit('.', 1)
problem_id = len(chapter_data["problems"]) + 1
chapter_data["problems"].append({"id": problem_id, "title": problem_title})
chapter_data["problems"].append({"id": problem_id, "title": problem_title, "extension": extension})

if chapter_data["parts"] or chapter_data["problems"]:
level_data[chapter_dir] = chapter_data
Expand All @@ -68,7 +68,6 @@ def generate_data_from_folder(path):
# Generate the data from the folder structure
logging.info('Starting content generation')
data = generate_data_from_folder(FRANCE_IOI_SOLUTIONS_DIR)
print(data)

# Render the README with data
logging.info('Rendering the README')
Expand Down

0 comments on commit a0ab5ef

Please sign in to comment.