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 = 'cy2018-end-year-match' # FIXME: Move this information into the model. FUNDGOAL_ENDTIMES = { # End of 2019-01-15 AOE is 2019-01-16 noon UTC. 'cy2018-end-year-match': DateTime(2019, 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 { 'sitefundgoal': fundgoal_lookup(SITE_FUNDGOAL), 'sitefundgoal_timeleft': FUNDGOAL_ENDTIMES[SITE_FUNDGOAL] - DateTime.now(UTC), } 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('/')}