www.netz39.de/tools/generate_stammtisch_events.py
2024-03-16 11:03:33 +01:00

48 lines
1.6 KiB
Python
Executable file

#!/usr/bin/env python3
import os
import datetime
# Function to generate the markdown content for a specific date
def generate_markdown_file(year, month, day):
markdown_content = f"""---
layout: event
title: "Netz39-Stammtisch"
event:
start: {year}-{month:02d}-{day:02d} 19:30:00
---
Es ist wieder Vereins-Stammtisch! Wie immer in allen ganzzahlig durch drei teilbaren Kalenderwochen. Das Protokoll dieses Stammtisches findet ihr [hier](https://wiki.netz39.de/stammtisch:{year}:{year}-{month:02d}-{day:02d}).
"""
dirname = os.path.dirname(__file__)
folder_path = os.path.join(dirname, f"../_events/{year}/")
filename = f"{year}-{month:02d}-{day:02d}_n39_stammtisch.md"
file_path = os.path.join(folder_path, filename)
if not os.path.exists(folder_path):
os.makedirs(folder_path)
with open(file_path, 'w') as file:
file.write(markdown_content)
print(f"Markdown file '{filename}' generated successfully in the _events folder!")
# Input year
input_year = int(input("Enter the year: "))
# Calculate Wednesdays in weeks divisible by three
for month in range(1, 13):
for day in range(1, 32):
try:
# Generate a date object
current_date = datetime.date(input_year, month, day)
# Check if the date is a Wednesday and in a week divisible by three
if current_date.weekday() == 2 and current_date.isocalendar()[1] % 3 == 0:
generate_markdown_file(input_year, month, day)
except ValueError:
# If the day is out of range for the month, skip to the next month
pass