Ejemplo n.º 1
0
    def test_get_data_keys_name(self):
        expect_key = {'locations', 'total', 'last_updated'}
        expect_location_keys = {
            'country', 'country_code', 'province', 'history', 'total'
        }

        self.assertEqual(services.get_data('confirmed').keys(), expect_key)
        self.assertEqual(
            services.get_data('confirmed')['locations'][0].keys(),
            expect_location_keys)
Ejemplo n.º 2
0
def api_confirmed_country(category, country_code, province_name):
    """
    Get all the historic confirmed, deaths or recovered by country and/or provinces
    """
    if category.lower() not in ('confirmed', 'deaths', 'recovered'):
        return ''

    data = get_data(category)
    data_country_all_province = []

    # By country and province
    for country in data['locations']:
        if country['country_code'] == country_code.upper(
        ) and country['province'].lower() == province_name.lower():
            return jsonify({
                'data':
                country['history'],
                'last_updated':
                dateutil.parser.parse(data['last_updated'])
            })

    # By country, so we must regrouped province
    for country in data['locations']:
        if country['country_code'] == country_code.upper():
            data_country_all_province.append(country['history'])

    return {
        'data': data_country_by_province(data_country_all_province),
        'last_updated': ''
    }
Ejemplo n.º 3
0
def api_confirmed():
    """
    get the confirmed by country
    """
    data = get_data('confirmed')

    return jsonify(
        sorted(data['locations'],
               key=lambda k: k.get('total', 0),
               reverse=True))
Ejemplo n.º 4
0
def api_deaths():
    """
    Get the deaths by country
    """
    data = get_data('deaths')

    return jsonify(
        sorted(data['locations'],
               key=lambda k: k.get('total', 0),
               reverse=True))
Ejemplo n.º 5
0
 def test_get_data_keys_number(self):
     self.assertEqual(len(services.get_data('confirmed').keys()), 3)
     self.assertEqual(
         len(services.get_data('confirmed')['locations'][0].keys()), 5)