• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

OCHA-DAP / hdx-analysis-scripts / 19414576289

17 Nov 2025 12:29AM UTC coverage: 87.583% (-0.5%) from 88.089%
19414576289

Pull #13

github

web-flow
Merge 89911213d into f48357b4a
Pull Request #13: HDXDSYS-2509 Add valid maintainer(s) columns to dataset and org output

28 of 36 new or added lines in 4 files covered. (77.78%)

2 existing lines in 1 file now uncovered.

663 of 757 relevant lines covered (87.58%)

0.88 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.0
/src/hdx/analysis_scripts/common/__init__.py
1
from datetime import datetime, timedelta, timezone
1✔
2

3
from hdx.utilities.dictandlist import dict_of_lists_add
1✔
4

5

6
def get_dataset_name_to_explorers(downloads):
1✔
7
    json = downloads.get_package_links()
1✔
8
    dataset_name_to_explorers = {}
1✔
9
    for explorergridlink in json["result"]:
1✔
10
        explorergrid = explorergridlink["title"]
1✔
11
        for dataset_name in set(explorergridlink["package_list"].split(",")):
1✔
12
            dict_of_lists_add(dataset_name_to_explorers, dataset_name, explorergrid)
1✔
13
    return dataset_name_to_explorers
1✔
14

15

16
def get_requests_mappings(downloads):
1✔
17
    dataset_id_to_requests = {}
1✔
18
    organisation_name_to_requests = {}
1✔
19
    for request in downloads.get_requests():
1✔
20
        dict_of_lists_add(dataset_id_to_requests, request["package_id"], request)
1✔
21
        dict_of_lists_add(
1✔
22
            organisation_name_to_requests, request["pkg_organization_name"], request
23
        )
24
    return dataset_id_to_requests, organisation_name_to_requests
1✔
25

26

27
def get_aging(aging_config):
1✔
28
    aging = {}
1✔
29
    for key, value in aging_config.items():
1✔
30
        update_frequency = int(key)
1✔
31
        freshness_frequency = {}
1✔
32
        for status in value:
1✔
33
            nodays = value[status]
1✔
34
            freshness_frequency[status] = timedelta(days=nodays)
1✔
35
        aging[update_frequency] = freshness_frequency
1✔
36
    return aging
1✔
37

38

39
def get_previous_quarter(date):
1✔
40
    if date.month < 4:
1✔
41
        start_date = datetime(date.year - 1, 10, 1, 0, 0, tzinfo=timezone.utc)
×
42
        end_date = datetime(
×
43
            date.year - 1, 12, 31, 23, 59, 59, 999999, tzinfo=timezone.utc
44
        )
45
    elif date.month < 7:
1✔
46
        start_date = datetime(date.year, 1, 1, 0, 0, tzinfo=timezone.utc)
×
47
        end_date = datetime(date.year, 3, 31, 23, 59, 59, 999999, tzinfo=timezone.utc)
×
48
    elif date.month < 10:
1✔
UNCOV
49
        start_date = datetime(date.year, 4, 1, 0, 0, tzinfo=timezone.utc)
×
UNCOV
50
        end_date = datetime(date.year, 6, 30, 23, 59, 59, 999999, tzinfo=timezone.utc)
×
51
    else:
52
        start_date = datetime(date.year, 7, 1, 0, 0, tzinfo=timezone.utc)
1✔
53
        end_date = datetime(date.year, 9, 30, 23, 59, 59, 999999, tzinfo=timezone.utc)
1✔
54
    return start_date, end_date
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc