Example #1
0
    def get_context_data(self, *args, **kwargs):
        page_context = {}

        # load the profile
        profile_method = settings.WAZIMAP.get('profile_builder', None)
        self.profile_name = settings.WAZIMAP.get('default_profile', 'default')

        if not profile_method:
            raise ValueError("You must define WAZIMAP.profile_builder in settings.py")
        profile_method = import_string(profile_method)
        profile_data = profile_method(self.geo, self.profile_name, self.request)

        profile_data['geography'] = self.geo.as_dict_deep()

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(json.dumps(profile_data, cls=DjangoJSONEncoder))

        page_context.update({
            'profile_data_json': profile_data_json
        })

        # is this a head-to-head view?
        page_context['head2head'] = 'h2h' in self.request.GET

        return page_context
Example #2
0
    def get_context_data(self, *args, **kwargs):
        page_context = {}

        # load the profile
        profile_method = settings.WAZIMAP.get('profile_builder', None)
        self.profile_name = settings.WAZIMAP.get('default_profile', 'default')

        if not profile_method:
            raise ValueError(
                "You must define WAZIMAP.profile_builder in settings.py")
        profile_method = import_string(profile_method)
        profile_data = profile_method(self.geo, self.profile_name,
                                      self.request)

        profile_data['geography'] = self.geo.as_dict_deep()

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(
            json.dumps(profile_data, cls=DjangoJSONEncoder))

        page_context.update({'profile_data_json': profile_data_json})

        # is this a head-to-head view?
        page_context['head2head'] = 'h2h' in self.request.GET

        return page_context
Example #3
0
    def get_context_data(self, *args, **kwargs):
        page_context = {}
        session = get_session()
        try:
            request = self.request
            year = request.GET.get('year') or self.year
            # load the profile
            profile_method = settings.WAZIMAP.get('profile_builder', None)
            self.profile_name = settings.WAZIMAP.get('default_profile', 'default')

            if not profile_method:
                raise ValueError("You must define WAZIMAP.profile_builder in settings.py")
            profile_method = import_string(profile_method)
            profile_data = profile_method(self.geo, self.profile_name, self.request, year)
            profile_data['geography'] = self.geo.as_dict_deep()
            coordinates, totalschools = get_schools_coordinates(self.geo, year, session)
            profile_data['coordinates'] = json.dumps(coordinates, cls=DjangoJSONEncoder)
            profile_data['totalschools'] = totalschools
            profile_data['year'] = year

            profile_data = enhance_api_data(profile_data)
            page_context.update(profile_data)

            profile_data_json = SafeString(json.dumps(profile_data, cls=DjangoJSONEncoder))

            page_context.update({
                'profile_data_json': profile_data_json
            })

            # is this a head-to-head view?
            page_context['head2head'] = 'h2h' in self.request.GET
        finally:
            session.close()

        return page_context
Example #4
0
    def get_context_data(self, *args, **kwargs):
        page_context = {}
        session = get_session()
        try:
            request = self.request
            year = request.GET.get('year') or self.year
            # load the profile
            profile_method = settings.WAZIMAP.get('profile_builder', None)
            self.profile_name = settings.WAZIMAP.get('default_profile', 'default')

            if not profile_method:
                raise ValueError("You must define WAZIMAP.profile_builder in settings.py")
            profile_method = import_string(profile_method)
            profile_data = profile_method(self.geo, self.profile_name, self.request, year)
            profile_data['geography'] = self.geo.as_dict_deep()
            coordinates, totalschools = get_schools_coordinates(self.geo, year, session)
            profile_data['coordinates'] = json.dumps(coordinates, cls=DjangoJSONEncoder)
            profile_data['totalschools'] = totalschools
            profile_data['year'] = year

            profile_data = enhance_api_data(profile_data)
            page_context.update(profile_data)

            profile_data_json = SafeString(json.dumps(profile_data, cls=DjangoJSONEncoder))

            page_context.update({
                'profile_data_json': profile_data_json
            })

            # is this a head-to-head view?
            page_context['head2head'] = 'h2h' in self.request.GET
        finally:
            session.close()

        return page_context
Example #5
0
    def get_context_data(self, *args, **kwargs):
        session = get_session()
        page_context = {}
        code = self.kwargs.get('code', None)

        #Fetch school perfromance over the year
        school_results = session.query(Base.metadata.tables['secondary_school'])\
                        .filter(Base.metadata.tables['secondary_school'].c.geo_level == "region")\
                        .filter(Base.metadata.tables['secondary_school'].c.code == code)\
                        .all()
        # Fetching schools
        school = session.query(Base.metadata.tables['secondary_school'])\
                        .filter(Base.metadata.tables['secondary_school'].c.geo_level == "region")\
                        .filter(Base.metadata.tables['secondary_school'].c.year_of_result == self.year)\
                        .filter(Base.metadata.tables['secondary_school'].c.code == code)\
                        .one()
        #get school coordinates
        coordinates = session.query(Base.metadata.tables['secondary_school'].c.code, Base.metadata.tables['secondary_school'].c.name, Base.metadata.tables['secondary_school'].c.longitude, Base.metadata.tables['secondary_school'].c.latitude )\
                    .filter(Base.metadata.tables['secondary_school'].c.geo_level == "region")\
                    .filter(Base.metadata.tables['secondary_school'].c.code == code)\
                    .filter(Base.metadata.tables['secondary_school'].c.year_of_result == self.year)\
                    .filter(Base.metadata.tables['secondary_school'].c.longitude != 'UNKNOWN')\
                    .filter(Base.metadata.tables['secondary_school'].c.latitude != 'UNKNOWN')\
                    .all()
        #Fetch the region where school is
        try:
            self.geo_level = 'region'
            self.geo_code = school.geo_code
            version = '2009'
            self.geo = geo_data.get_geography(self.geo_code, self.geo_level,
                                              version)
        except (ValueError, Exception):
            raise Http404
        # load the profile
        # profile_method = settings.WAZIMAP.get('profile_builder', None)
        # self.profile_name = settings.WAZIMAP.get('default_profile', 'default')
        #
        # if not profile_method:
        #     raise ValueError("You must define WAZIMAP.profile_builder in settings.py")
        # profile_method = import_string(profile_method)
        # profile_data = profile_method(self.geo, self.profile_name, self.request)
        profile_data = {}
        profile_data['geography'] = self.geo.as_dict_deep()
        profile_data['coordinates'] = json.dumps(coordinates,
                                                 cls=DjangoJSONEncoder)
        profile_data['school'] = school
        profile_data['year'] = self.year
        profile_data['school_results'] = school_results

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(
            json.dumps(profile_data, cls=DjangoJSONEncoder))
        page_context.update({'profile_data_json': profile_data_json})
        session.close()
        return page_context
Example #6
0
    def get_context_data(self, *args, **kwargs):
        json_data = open("takwimu/fixtures/sdg.json")
        data = json.load(json_data)

        # get profileData aka summaries from wagtail
        summary_data = ProfileData.objects.filter(
            country_iso_code=self.geo.geo_code).values('id', 'chart_id',
                                                       'summary')

        page_context = {"profile_data_summaries": list(summary_data)}

        # get data by topic page text description
        try:
            page = DataByTopicPage.objects.get(country=self.geo)
            page_context['profile_data_description'] = page.description
        except DataByTopicPage.DoesNotExist:
            page_context['profile_data_description'] = ''

        # load the profile
        profile_method = takwimu_settings.HURUMAP.get("profile_builder", None)
        self.profile_name = takwimu_settings.HURUMAP.get(
            "default_profile", "default")

        if not profile_method:
            raise ValueError(
                "You must define WAZIMAP.profile_builder in settings.py")
        profile_method = import_string(profile_method)

        year = self.request.GET.get(
            "release", get_primary_release_year_per_geography(self.geo))

        with dataset_context(year=year):
            profile_data = profile_method(self.geo, self.profile_name,
                                          self.request)

        profile_data["geography"] = self.geo.as_dict_deep()
        profile_data["primary_releases"] = get_page_releases_per_country(
            takwimu_settings.HURUMAP["primary_dataset_name"], self.geo, year)

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(
            json.dumps(profile_data, cls=DjangoJSONEncoder))

        page_context.update({"profile_data_json": profile_data_json})

        # is this a head-to-head view?
        page_context["head2head"] = "h2h" in self.request.GET

        page_context["sdgs"] = data
        page_context.update(settings(self.request))
        page_context.update(takwimu_countries(self.request))
        page_context.update(takwimu_stories(self.request))
        page_context.update(takwimu_topics(self.request))

        return page_context
Example #7
0
    def get_context_data(self, *args, **kwargs):
        session = get_session()
        page_context = {}
        code = self.kwargs.get('code', None)

        #Fetch school perfromance over the year
        school_results = session.query(Base.metadata.tables['secondary_school'])\
                        .filter(Base.metadata.tables['secondary_school'].c.geo_level == "region")\
                        .filter(Base.metadata.tables['secondary_school'].c.code == code)\
                        .all()
        # Fetching schools
        school = session.query(Base.metadata.tables['secondary_school'])\
                        .filter(Base.metadata.tables['secondary_school'].c.geo_level == "region")\
                        .filter(Base.metadata.tables['secondary_school'].c.year_of_result == self.year)\
                        .filter(Base.metadata.tables['secondary_school'].c.code == code)\
                        .one()
        #get school coordinates
        coordinates = session.query(Base.metadata.tables['secondary_school'].c.code, Base.metadata.tables['secondary_school'].c.name, Base.metadata.tables['secondary_school'].c.longitude, Base.metadata.tables['secondary_school'].c.latitude )\
                    .filter(Base.metadata.tables['secondary_school'].c.geo_level == "region")\
                    .filter(Base.metadata.tables['secondary_school'].c.code == code)\
                    .filter(Base.metadata.tables['secondary_school'].c.year_of_result == self.year)\
                    .filter(Base.metadata.tables['secondary_school'].c.longitude != 'UNKNOWN')\
                    .filter(Base.metadata.tables['secondary_school'].c.latitude != 'UNKNOWN')\
                    .all()
        #Fetch the region where school is
        try:
            self.geo_level = 'region'
            self.geo_code = school.geo_code
            version = '2009'
            self.geo = geo_data.get_geography(self.geo_code, self.geo_level, version)
        except (ValueError, Exception):
            raise Http404
        # load the profile
        # profile_method = settings.WAZIMAP.get('profile_builder', None)
        # self.profile_name = settings.WAZIMAP.get('default_profile', 'default')
        #
        # if not profile_method:
        #     raise ValueError("You must define WAZIMAP.profile_builder in settings.py")
        # profile_method = import_string(profile_method)
        # profile_data = profile_method(self.geo, self.profile_name, self.request)
        profile_data = {}
        profile_data['geography'] = self.geo.as_dict_deep()
        profile_data['coordinates'] = json.dumps(coordinates, cls=DjangoJSONEncoder)
        profile_data['school'] = school
        profile_data['year'] = self.year
        profile_data['school_results'] = school_results

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(json.dumps(profile_data, cls=DjangoJSONEncoder))
        page_context.update({
            'profile_data_json': profile_data_json
        })
        session.close()
        return page_context
Example #8
0
    def get_context_data(self, **kwargs):
        page_context = {}

        # load the profile
        profile_method = settings.HURUMAP.get('profile_builder', None)
        self.profile_name = settings.HURUMAP.get('default_profile', 'default')

        if not profile_method:
            raise ValueError(
                "You must define WAZIMAP.profile_builder in settings.py")
        profile_method = import_string(profile_method)

        year = self.request.GET.get(
            'release', get_primary_release_year_per_geography(self.geo))
        if settings.HURUMAP['latest_release_year'] == year:
            year = 'latest'

        with dataset_context(year=year):
            profile_data = profile_method(
                self.geo, self.profile_name, self.request)

        profile_data['geography'] = self.geo.as_dict_deep()
        profile_data['primary_releases'] = get_page_releases_per_country(
            settings.HURUMAP['primary_dataset_name'], self.geo, year)

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(
            json.dumps(profile_data, cls=DjangoJSONEncoder))

        page_context.update({
            'profile_data_json': profile_data_json
        })

        # is this a head-to-head view?
        page_context['head2head'] = 'h2h' in self.request.GET

        return page_context
Example #9
0
    def get_context_data(self, **kwargs):
        page_context = {}

        # load the profile
        profile_method = settings.HURUMAP.get('profile_builder', None)
        self.profile_name = settings.HURUMAP.get('default_profile', 'default')

        if not profile_method:
            raise ValueError(
                "You must define WAZIMAP.profile_builder in settings.py")
        profile_method = import_string(profile_method)

        year = self.request.GET.get(
            'release', get_primary_release_year_per_geography(self.geo))
        if settings.HURUMAP['latest_release_year'] == year:
            year = 'latest'

        with dataset_context(year=year):
            profile_data = profile_method(self.geo, self.profile_name,
                                          self.request)

        profile_data['geography'] = self.geo.as_dict_deep()
        profile_data['primary_releases'] = get_page_releases_per_country(
            settings.HURUMAP['primary_dataset_name'], self.geo, year)

        profile_data = enhance_api_data(profile_data)
        page_context.update(profile_data)

        profile_data_json = SafeString(
            json.dumps(profile_data, cls=DjangoJSONEncoder))

        page_context.update({'profile_data_json': profile_data_json})

        # is this a head-to-head view?
        page_context['head2head'] = 'h2h' in self.request.GET

        return page_context