from datetime import datetime as DateTime from pytz import utc as UTC import conservancy.settings from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal SITE_FUNDGOAL = 'cy2021-end-year-match' # FIXME: Move this information into the model. FUNDGOAL_ENDTIMES = { # Noon UTC = the end of the previous day anywhere on Earth (AOE) 'cy2018-end-year-match': DateTime(2019, 1, 16, 12, tzinfo=UTC), 'cy2019-end-year-match': DateTime(2020, 1, 16, 12, tzinfo=UTC), 'cy2020-end-year-match': DateTime(2021, 1, 16, 12, tzinfo=UTC), 'cy2021-end-year-match': DateTime(2021, 1, 16, 12, tzinfo=UTC), } def fundgoal_lookup(fundraiser_sought): try: return FundraisingGoal.objects.get(fundraiser_code_name=fundraiser_sought) except FundraisingGoal.DoesNotExist: # we have no object! do something return None def sitefundraiser(request): return { 'datetime_now': DateTime.now(UTC), 'sitefundgoal': fundgoal_lookup(SITE_FUNDGOAL), 'sitefundgoal_endtime': FUNDGOAL_ENDTIMES[SITE_FUNDGOAL], } if conservancy.settings.FORCE_CANONICAL_HOSTNAME: _HOST_URL_VAR = {'host_url': 'https://' + conservancy.settings.FORCE_CANONICAL_HOSTNAME} def host_url(request): return _HOST_URL_VAR else: def host_url(request): return {'host_url': request.build_absolute_uri('/').rstrip('/')}