Files @ a8710b4b9f2a
Branch filter:

Location: website/www/conservancy/local_context_processors.py - annotation

Denver Gingerich
Copyleft Compliance: mostly minor fixes to new pgs

These are mostly minor edits (typo fixes, etc.) to the enforcement
strategy and firmware liberation pages that were just added.

The one large change was to replace the first paragraph of the
enforcement strategy page with the full Conservancy description used
previously. The glue text used to shorten it appeared unsalvageable
and it wasn't immediately obvious how to replace it with something
better, so we used the full description instead.
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 = 'cy2019-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),
}

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('/')}