Skip to content
Snippets Groups Projects
Select Git revision
  • 650f89005a182f729f02ac2fda01a972026d3e30
  • test default protected
  • master protected
  • feat/custom-css
  • feat/redesign-improvements-10
  • feat/redesign-improvements-8
  • feat/redesign-fixes-3
  • feat/pirstan-changes
  • feat/separate-import-thread
  • feat/dary-improvements
  • features/add-pdf-page
  • features/add-typed-table
  • features/fix-broken-calendar-categories
  • features/add-embed-to-articles
  • features/create-mastodon-feed-block
  • features/add-custom-numbering-for-candidates
  • features/add-timeline
  • features/create-wordcloud-from-article-page
  • features/create-collapsible-extra-legal-info
  • features/extend-hero-banner
  • features/add-link-to-images
21 results

0004_auto_20220505_1228.py

Blame
  • 0004_auto_20220505_1228.py 1.26 KiB
    # Generated by Django 4.0.4 on 2022-05-05 10:28
    from datetime import date, timedelta
    
    import arrow
    from django.db import migrations
    
    from calendar_utils.icalevents import icalevents
    from calendar_utils.parser import process_event_list
    
    
    def update_event_lists(apps, schema):
        Calendar = apps.get_model("calendar_utils", "Calendar")
    
        for calendar in Calendar.objects.all():
            try:
                event_list = icalevents.events(
                    url=calendar.url,
                    start=date.today() - timedelta(days=30),
                    end=date.today() + timedelta(days=60),
                )
            except ValueError:
                print("Could not parse calendar from {}".format(calendar.url))
    
            event_list_hash = str(hash(str(event_list)))
            past, future = process_event_list(event_list)
            calendar.past_events = past
            calendar.future_events = list(reversed(future))
            calendar.event_hash = event_list_hash
    
            calendar.last_update = arrow.utcnow().datetime
            calendar.save()
    
    
    class Migration(migrations.Migration):
        dependencies = [
            ("calendar_utils", "0003_remove_calendar_source_calendar_event_hash"),
        ]
    
        operations = [
            migrations.RunPython(update_event_lists, reverse_code=migrations.RunPython.noop)
        ]