Example #1
0
    def __fetch_year(self, year):
        """Fetch specified year"""
        # Get all the organizations from this year
        url = self.URLS['ORGS'].format(year=year)
        self.logger.info('Getting list of the organizations for %d', year)
        self.logger.debug('Fetching %s', url)

        r = requests.get(url)
        fetched_orgs = json.loads(r.text).get('data').get('')
        self.logger.info('Got %d organizations', len(fetched_orgs))
        for fetched_org in fetched_orgs:
            fetched_org = fetched_org.get('columns')
            org = Organization.objects(
                name=fetched_org.get('org_id'),
                year=year
            ).first()
            if not org:
                # Add new org
                org = Organization(
                    name=fetched_org.get('org_id'),
                    full_name=fetched_org.get('name'),
                    year=year
                )
                org.save()

            self.__fetch_org_tasks_by_year(
                org, year
            )
Example #2
0
    def get(self):
        """Get a list of all organizations

        :return list A list of all organizations
        """
        args = self.arg_parser.parse_args()
        year = args.get('year')

        return queryset_to_dict(Organization.objects(year=year))
Example #3
0
    def get(self):
        """Get a list of all organizations for every year

        :return list A list of all organizations for every year
        """
        result = []
        for year in app.config['YEARS']:
            result.append({
                'year': year,
                'orgs': queryset_to_dict(Organization.objects(year=year))
            })

        return result