Included `ipython` and related dependencies in project requirements for enhanced developer tooling. Fixed `dtend` calculation in iCal export by adding one day to the event's end date for improved calendar compatibility.
@ -1,3 +1,4 @@
from datetime import timedelta
from icalendar import Calendar, Event, vText
from django.template.defaultfilters import striptags
from django.utils import timezone
@ -16,7 +17,7 @@ def generate_events_ics(queryset):
event.add('dtstart', e.start_date)
event.add('uid', f'{e.slug}@feo.gmbh')
if e.end_date:
event.add('dtend', e.end_date)
event.add('dtend', e.end_date + timedelta(days=1))
if e.location_name:
event.add('location', vText(f'{e.location_name}, {e.location_street}, {e.location_city}'))
@ -11,3 +11,4 @@ django-braces
daphne
celery
redis
ipython
@ -12,6 +12,8 @@ asgiref==3.8.1
# via
# daphne
# django
asttokens==3.0.0
# via stack-data
attrs==25.3.0
# service-identity
@ -55,6 +57,8 @@ cryptography==44.0.2
daphne==4.1.2
# via -r requirements.in
decorator==5.2.1
# via ipython
defusedxml==0.7.1
# via willow
django==5.2
@ -106,6 +110,8 @@ draftjs-exporter==5.1.0
# via wagtail
et-xmlfile==2.0.0
# via openpyxl
executing==2.2.0
filetype==1.2.0
hyperlink==21.0.0
@ -121,12 +127,24 @@ idna==3.10
# twisted
incremental==24.7.2
# via twisted
ipython==9.2.0
ipython-pygments-lexers==1.1.1
jedi==0.19.2
kombu==5.5.3
# via celery
laces==0.1.2
matplotlib-inline==0.1.7
openpyxl==3.1.5
parso==0.8.4
# via jedi
pexpect==4.9.0
pillow==11.2.1
# pillow-heif
@ -134,11 +152,17 @@ pillow==11.2.1
pillow-heif==0.21.0
prompt-toolkit==3.0.51
# via click-repl
# click-repl
# ipython
psycopg[binary]==3.2.6
psycopg-binary==3.2.6
# via psycopg
ptyprocess==0.7.0
# via pexpect
pure-eval==0.2.3
pyasn1==0.6.1
# pyasn1-modules
@ -147,6 +171,10 @@ pyasn1-modules==0.4.2
# via service-identity
pycparser==2.22
# via cffi
pygments==2.19.1
# ipython-pygments-lexers
pyopenssl==25.0.0
python-dateutil==2.9.0.post0
@ -165,8 +193,14 @@ soupsieve==2.7
# via beautifulsoup4
sqlparse==0.5.3
# via django
stack-data==0.6.3
telepath==0.3.1
traitlets==5.14.3
# matplotlib-inline
twisted[tls]==24.11.0
# via daphne
txaio==23.1.1