diff --git a/project/cli/seo.py b/project/cli/seo.py index a4ca4f4..47fb7f5 100644 --- a/project/cli/seo.py +++ b/project/cli/seo.py @@ -9,7 +9,7 @@ from flask.cli import AppGroup, with_appcontext from sqlalchemy.orm import load_only from project import app, cache_path, robots_txt_path, sitemap_path -from project.dateutils import today +from project.dateutils import get_today from project.models import Event, EventDate from project.utils import make_dir @@ -27,6 +27,7 @@ def generate_sitemap(pinggoogle): buf.write('') buf.write('') + today = get_today() events = ( Event.query.options(load_only(Event.id, Event.updated_at)) .filter(Event.dates.any(EventDate.start >= today)) diff --git a/project/dateutils.py b/project/dateutils.py index fffa463..bfe6878 100644 --- a/project/dateutils.py +++ b/project/dateutils.py @@ -5,8 +5,15 @@ from dateutil.relativedelta import relativedelta from dateutil.rrule import rrulestr berlin_tz = pytz.timezone("Europe/Berlin") -now = datetime.now(tz=berlin_tz) -today = datetime(now.year, now.month, now.day, tzinfo=now.tzinfo) + + +def get_now(): + return datetime.now(tz=berlin_tz) + + +def get_today(): + now = get_now() + return datetime(now.year, now.month, now.day, tzinfo=now.tzinfo) def create_berlin_date(year, month, day, hour, minute=0): diff --git a/project/services/event.py b/project/services/event.py index d167a0d..ce18b9e 100644 --- a/project/services/event.py +++ b/project/services/event.py @@ -6,7 +6,7 @@ from sqlalchemy.orm import contains_eager, defaultload, joinedload, lazyload from sqlalchemy.sql import extract from project import db -from project.dateutils import date_add_time, dates_from_recurrence_rule, today +from project.dateutils import date_add_time, dates_from_recurrence_rule, get_today from project.models import ( AdminUnit, Event, @@ -287,6 +287,7 @@ def update_event(event): def get_upcoming_event_dates(event_id): + today = get_today() return ( EventDate.query.options(lazyload(EventDate.event)) .filter(and_(EventDate.event_id == event_id, EventDate.start >= today)) diff --git a/project/services/event_search.py b/project/services/event_search.py index 93b0ba3..91a2a59 100644 --- a/project/services/event_search.py +++ b/project/services/event_search.py @@ -5,7 +5,7 @@ from project.dateutils import ( date_set_end_of_day, form_input_from_date, form_input_to_date, - today, + get_today, ) @@ -75,10 +75,12 @@ class EventSearchParams(object): self.longitude = None def set_default_date_range(self): + today = get_today() self.date_from = today self.date_to = date_set_end_of_day(today + relativedelta(months=12)) def set_planing_date_range(self): + today = get_today() self.date_from = today self.date_to = date_set_end_of_day(today + relativedelta(months=3)) diff --git a/project/views/api.py b/project/views/api.py index d655f30..8428dc9 100644 --- a/project/views/api.py +++ b/project/views/api.py @@ -1,7 +1,7 @@ from flask import jsonify from project import app -from project.dateutils import today +from project.dateutils import get_today from project.jsonld import get_sd_for_event_date from project.models import Event, EventDate from project.services.event import get_event_dates_query @@ -10,6 +10,7 @@ from project.services.event_search import EventSearchParams @app.route("/api/events") def api_events(): + today = today = get_today() dates = ( EventDate.query.join(Event) .filter(EventDate.start >= today) diff --git a/project/views/reference_request_review.py b/project/views/reference_request_review.py index e76e145..5aec736 100644 --- a/project/views/reference_request_review.py +++ b/project/views/reference_request_review.py @@ -4,7 +4,7 @@ from sqlalchemy.exc import SQLAlchemyError from project import app, db from project.access import access_or_401, has_access, has_admin_unit_member_permission -from project.dateutils import today +from project.dateutils import get_today from project.forms.reference_request import ReferenceRequestReviewForm from project.models import ( AdminUnitMember, @@ -65,6 +65,7 @@ def event_reference_request_review(id): else: flash_errors(form) + today = get_today() dates = ( EventDate.query.with_parent(request.event) .filter(EventDate.start >= today) diff --git a/tests/seeder.py b/tests/seeder.py index f231514..88711a1 100644 --- a/tests/seeder.py +++ b/tests/seeder.py @@ -176,7 +176,7 @@ class Seeder(object): return category.id def create_event(self, admin_unit_id, recurrence_rule=None): - from project.dateutils import now + from project.dateutils import get_now from project.models import Event from project.services.event import insert_event, upsert_event_category @@ -186,7 +186,7 @@ class Seeder(object): event.categories = [upsert_event_category("Other")] event.name = "Name" event.description = "Beschreibung" - event.start = now + event.start = get_now() event.event_place_id = self.upsert_default_event_place(admin_unit_id) event.organizer_id = self.upsert_default_event_organizer(admin_unit_id) event.recurrence_rule = recurrence_rule @@ -215,7 +215,7 @@ class Seeder(object): return image_id def create_event_suggestion(self, admin_unit_id, free_text=False): - from project.dateutils import now + from project.dateutils import get_now from project.models import EventSuggestion from project.services.event import upsert_event_category from project.services.event_suggestion import insert_event_suggestion @@ -228,7 +228,7 @@ class Seeder(object): suggestion.contact_email_notice = True suggestion.name = "Vorschlag" suggestion.description = "Beschreibung" - suggestion.start = now + suggestion.start = get_now() suggestion.photo_id = self.upsert_default_image() suggestion.categories = [upsert_event_category("Other")]