All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
New dailystone app with 207 minerals scraped from Wikipedia. Each day displays a different mineral with photos, formula, properties, description, and history. Page theme color matches the mineral's typical appearance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
774 B
Python
29 lines
774 B
Python
from datetime import date
|
|
|
|
from django.shortcuts import render, get_object_or_404
|
|
|
|
from .models import Mineral
|
|
|
|
|
|
def daily_stone(request):
|
|
today = date.today()
|
|
day = today.timetuple().tm_yday
|
|
total = Mineral.objects.count()
|
|
|
|
if total == 0:
|
|
return render(request, 'dailystone/stone.html', {'mineral': None})
|
|
|
|
# Wrap around if we have fewer minerals than days in the year
|
|
index = (day - 1) % total + 1
|
|
mineral = Mineral.objects.filter(day_of_year=index).first()
|
|
|
|
# Fallback: pick by modulo of pk list
|
|
if not mineral:
|
|
minerals = list(Mineral.objects.all())
|
|
mineral = minerals[(day - 1) % len(minerals)]
|
|
|
|
return render(request, 'dailystone/stone.html', {
|
|
'mineral': mineral,
|
|
'today': today,
|
|
})
|