hdx-python-scraper 2.5.9__tar.gz → 2.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/PKG-INFO +1 -1
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/requirements.txt +1 -1
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/_version.py +2 -2
- hdx_python_scraper-2.6.0/src/hdx/scraper/framework/utilities/hapi_admins.py +75 -0
- hdx_python_scraper-2.6.0/tests/hdx/scraper/framework/utilities/test_hapi_admins.py +184 -0
- hdx_python_scraper-2.5.9/src/hdx/scraper/framework/utilities/hapi_admins.py +0 -29
- hdx_python_scraper-2.5.9/tests/hdx/scraper/framework/utilities/test_hapi_admins.py +0 -23
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.config/coveragerc +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.config/pre-commit-config.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.config/pytest.ini +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.config/ruff.toml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.github/workflows/publish.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.github/workflows/run-python-tests.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.gitignore +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/CONTRIBUTING.md +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/LICENSE +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/README.md +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/documentation/.readthedocs.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/documentation/main.md +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/documentation/pydoc-markdown.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/pyproject.toml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/base_scraper.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/base.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/excelfile.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/googlesheets.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/json.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/runner.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/aggregator.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/configurable_scraper.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/resource_downloader.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/rowparser.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/timeseries.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/fallbacks.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/lookup.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/org_type.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/org_type_configuration.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/reader.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/region_lookup.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/sector.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/sector_configuration.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/sources.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/writer.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/config/project_configuration.yaml +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/access_2pacx-1vrszjzuyvt9i-mkrq2hbxrul2lx2vihkthqm-lae8nyhqty70zqtcufs3pxbhzgat1l2bkoa4-daoap-pub-gid-574237756-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/additional-json.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/altworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/cbpf-allocations-and-contributions.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/cbpf2-allocations-and-contributions.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/cerf-covid-19-allocations.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/cerf2-covid-19-allocations.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/cerf2_global_download-full-pfmb-allocations.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/cerf_global_download-full-pfmb-allocations.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/covax_2pacx-1vtvzu79pptfaa2syevoqfyrrjy63djwitqu0ffbxiqczoun9k9timwmrvfgg1rbsnlmgyugzseiaye2-pub-gid-992438980-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/covidtests_data-owid-covid-data.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/download-global-pcode-lengths.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/download-global-pcodes-adm-1-2.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/education_closures_broken.xls +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/education_closures_school_closures.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/education_enrolment_enrollment_data.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ethiopia-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ethiopia-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ethiopia_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/fallbacks.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/gam_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/gam_other_download-unicef-who-wb-global-expanded-databases-severe-wasting.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/global-coordination-groups-beta.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/global-school-closures-covid19.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/hno_2017_sahel_nutrition.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/hno_2017_sahel_people_in_need.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/idmc-internally-displaced-persons-idps.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/idps_download-displacement-data.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/idps_override_population-widget-id-264111-geo-id-693-population-group-54074999.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/idps_somalia_som_unhcr_prmn_displacement_dataset.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ipc_somalia_som_food_insecurity_oct_dec2022_projection.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/kenya-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/kenya-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/kenya_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/key_figures_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/key_figures_eth_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-2015311116-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/key_figures_ken_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-1275038715-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/key_figures_som_2pacx-1vrppqx8jtkkkrckmzfncmmtfecvcpkbp9pdhs1sqtuyacmbsx8tlaxpgblfce-lcehukregguxja-4s-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/org_type_organization_types_beta_csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/organization-types-beta.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ourworldindata_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ourworldindata_other_data-tagger-match-all-on-tagger-01-header-location-tagger-01-tag.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/oxcgrt_oxcgrt_csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/oxford-covid-19-government-response-tracker.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/population.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/population_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/population_other_indicator-sp-pop-downloadformat-excel-dataformat-list-totl.xls +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/regions_tbl_regcov_2020_ocha.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/resource_downloader_xlsx_ukr_border_crossings_090622.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/sadd-countries-to-include.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/sadd_covid-data-dataset-fullvars-extype-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/sahel-humanitarian-needs-overview.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/sahel-humanitarian-needs-overview_prefix.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/sector_global_coordination_groups_beta_csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/somalia-acute-food-insecurity-country-data.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/somalia-drought-related-key-figures.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/somalia-internally-displaced-persons-idps.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/somalia-pin-targeted-reached-by-location-and-cluster.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/somalia_drought_affected_targeted_reached_by_cluster.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/timeseries_casualties_2pacx-1vqidedbzz0ehrc0b4fswip14r7mdtu1mpmwakuxupelsah2awcurkgalfduhjvyjul8vzzat3r1b5qg-pub-gid-0-single-true-output-csv.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/total-covid-19-tests-performed-by-country.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ukraine-border-crossings.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/ukraine-who-does-what-where-3w.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/unocha-office-locations.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/who_national2_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/who_national3_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/who_national_who-covid-19-global-data.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/whowhatwhere_afg_3w_data.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/whowhatwhere_notags_3w_data.csv +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/test_output.xlsx +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/test_scraper_all.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/test_scraper_other.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/test_scraper_population.json +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/conftest.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/custom/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/custom/affected_targeted_reached.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/custom/education_closures.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/custom/education_enrolment.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/custom/test_custom.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/outputs/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/outputs/test_output.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_aggregation.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_appenddata.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_global.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_multipleurls.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_national.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_regionaltoplevel.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_resource_downloaders.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_subnational.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/test_timeseries.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/scrapers/unhcr_myanmar_idps.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/test_runner.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/utilities/__init__.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/utilities/test_lookup.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/utilities/test_readers.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/utilities/test_regionlookup.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/utilities/test_sources.py +0 -0
- {hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/utilities/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hdx-python-scraper
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.0
|
|
4
4
|
Summary: HDX Python scraper utilities to assemble data from multiple sources
|
|
5
5
|
Project-URL: Homepage, https://github.com/OCHA-DAP/hdx-python-scraper
|
|
6
6
|
Author-email: Michael Rans <rans@email.com>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from typing import List, Tuple
|
|
2
|
+
|
|
3
|
+
from hdx.location.adminlevel import AdminLevel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def complete_admins(
|
|
7
|
+
admins: List[AdminLevel],
|
|
8
|
+
countryiso3: str,
|
|
9
|
+
provider_adm_names: List,
|
|
10
|
+
adm_codes: List,
|
|
11
|
+
adm_names: List,
|
|
12
|
+
) -> Tuple[int, List[str]]:
|
|
13
|
+
warnings = []
|
|
14
|
+
parent = None
|
|
15
|
+
adm_level = len(provider_adm_names)
|
|
16
|
+
for i, provider_adm_name in reversed(list(enumerate(provider_adm_names))):
|
|
17
|
+
adm_code = adm_codes[i]
|
|
18
|
+
if not provider_adm_name:
|
|
19
|
+
provider_adm_name = ""
|
|
20
|
+
provider_adm_names[i] = ""
|
|
21
|
+
if parent:
|
|
22
|
+
pcode = admins[i + 1].pcode_to_parent.get(parent)
|
|
23
|
+
warntxt = "parent"
|
|
24
|
+
elif provider_adm_name:
|
|
25
|
+
pcode, _ = admins[i].get_pcode(
|
|
26
|
+
countryiso3, provider_adm_name, parent=parent
|
|
27
|
+
)
|
|
28
|
+
warntxt = f"provider_adm{i + 1}_name"
|
|
29
|
+
else:
|
|
30
|
+
pcode = None
|
|
31
|
+
if adm_code:
|
|
32
|
+
if adm_code not in admins[i].pcodes:
|
|
33
|
+
if pcode:
|
|
34
|
+
warnings.append(
|
|
35
|
+
f"PCode unknown {adm_code}->{pcode} ({warntxt})"
|
|
36
|
+
)
|
|
37
|
+
adm_code = pcode
|
|
38
|
+
else:
|
|
39
|
+
warnings.append(f"PCode unknown {adm_code}->''")
|
|
40
|
+
adm_code = ""
|
|
41
|
+
elif pcode and adm_code != pcode:
|
|
42
|
+
if parent:
|
|
43
|
+
warnings.append(
|
|
44
|
+
f"PCode mismatch {adm_code}->{pcode} ({warntxt})"
|
|
45
|
+
)
|
|
46
|
+
adm_code = pcode
|
|
47
|
+
else:
|
|
48
|
+
warnings.append(
|
|
49
|
+
f"PCode mismatch {adm_code} != {provider_adm_name}"
|
|
50
|
+
)
|
|
51
|
+
elif pcode:
|
|
52
|
+
adm_code = pcode
|
|
53
|
+
else:
|
|
54
|
+
adm_code = ""
|
|
55
|
+
adm_codes[i] = adm_code
|
|
56
|
+
if adm_code:
|
|
57
|
+
adm_names[i] = admins[i].pcode_to_name.get(adm_code, "")
|
|
58
|
+
parent = adm_code
|
|
59
|
+
else:
|
|
60
|
+
adm_names[i] = ""
|
|
61
|
+
if provider_adm_name == "":
|
|
62
|
+
adm_level -= 1
|
|
63
|
+
return adm_level, warnings
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def pad_admins(
|
|
67
|
+
provider_adm_names: List[str],
|
|
68
|
+
adm_codes: List[str],
|
|
69
|
+
adm_names: List[str],
|
|
70
|
+
adm_level: int = 2,
|
|
71
|
+
) -> None:
|
|
72
|
+
for i in range(len(provider_adm_names), adm_level):
|
|
73
|
+
provider_adm_names.append("")
|
|
74
|
+
adm_codes.append("")
|
|
75
|
+
adm_names.append("")
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
from hdx.location.adminlevel import AdminLevel
|
|
2
|
+
from hdx.scraper.framework.utilities.hapi_admins import (
|
|
3
|
+
complete_admins,
|
|
4
|
+
pad_admins,
|
|
5
|
+
)
|
|
6
|
+
from hdx.scraper.framework.utilities.reader import Read
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestAdmins:
|
|
10
|
+
def test_complete_admins(self, configuration):
|
|
11
|
+
countryiso3 = "AFG"
|
|
12
|
+
admins = []
|
|
13
|
+
reader = Read.get_reader("hdx")
|
|
14
|
+
for i in range(2):
|
|
15
|
+
admin = AdminLevel(admin_level=i + 1, retriever=reader)
|
|
16
|
+
admin.setup_from_url(countryiso3s=(countryiso3,))
|
|
17
|
+
admin.load_pcode_formats()
|
|
18
|
+
admins.append(admin)
|
|
19
|
+
|
|
20
|
+
provider_adm_names = ["", ""]
|
|
21
|
+
adm_codes = ["", ""]
|
|
22
|
+
adm_names = ["", ""]
|
|
23
|
+
adm_level, warnings = complete_admins(
|
|
24
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
25
|
+
)
|
|
26
|
+
assert adm_codes == ["", ""]
|
|
27
|
+
assert adm_names == ["", ""]
|
|
28
|
+
assert adm_level == 0
|
|
29
|
+
assert warnings == []
|
|
30
|
+
|
|
31
|
+
provider_adm_names = ["Kabul", ""]
|
|
32
|
+
adm_codes = ["AF01", ""]
|
|
33
|
+
adm_names = ["", ""]
|
|
34
|
+
adm_level, warnings = complete_admins(
|
|
35
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
36
|
+
)
|
|
37
|
+
assert adm_codes == ["AF01", ""]
|
|
38
|
+
assert adm_names == ["Kabul", ""]
|
|
39
|
+
assert adm_level == 1
|
|
40
|
+
assert warnings == []
|
|
41
|
+
|
|
42
|
+
provider_adm_names = ["Kabul", ""]
|
|
43
|
+
adm_codes = ["AF01", "AF010X"]
|
|
44
|
+
adm_names = ["", ""]
|
|
45
|
+
adm_level, warnings = complete_admins(
|
|
46
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
47
|
+
)
|
|
48
|
+
assert adm_codes == ["AF01", ""]
|
|
49
|
+
assert adm_names == ["Kabul", ""]
|
|
50
|
+
assert adm_level == 1
|
|
51
|
+
assert warnings == ["PCode unknown AF010X->''"]
|
|
52
|
+
|
|
53
|
+
provider_adm_names = ["Kabal", "Paghman"]
|
|
54
|
+
adm_codes = ["AF01", ""]
|
|
55
|
+
adm_names = ["", ""]
|
|
56
|
+
adm_level, warnings = complete_admins(
|
|
57
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
58
|
+
)
|
|
59
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
60
|
+
assert adm_names == ["Kabul", "Paghman"]
|
|
61
|
+
assert adm_level == 2
|
|
62
|
+
assert warnings == []
|
|
63
|
+
|
|
64
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
65
|
+
adm_codes = ["AF01", "AF01XX"]
|
|
66
|
+
adm_names = ["", ""]
|
|
67
|
+
adm_level, warnings = complete_admins(
|
|
68
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
69
|
+
)
|
|
70
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
71
|
+
assert adm_names == ["Kabul", "Paghman"]
|
|
72
|
+
assert adm_level == 2
|
|
73
|
+
assert warnings == [
|
|
74
|
+
"PCode unknown AF01XX->AF0102 (provider_adm2_name)"
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
78
|
+
adm_codes = ["", "AF0102"]
|
|
79
|
+
adm_names = ["", ""]
|
|
80
|
+
adm_level, warnings = complete_admins(
|
|
81
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
82
|
+
)
|
|
83
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
84
|
+
assert adm_names == ["Kabul", "Paghman"]
|
|
85
|
+
assert adm_level == 2
|
|
86
|
+
assert warnings == []
|
|
87
|
+
|
|
88
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
89
|
+
adm_codes = ["AF0X", "AF0102"]
|
|
90
|
+
adm_names = ["", ""]
|
|
91
|
+
adm_level, warnings = complete_admins(
|
|
92
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
93
|
+
)
|
|
94
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
95
|
+
assert adm_names == ["Kabul", "Paghman"]
|
|
96
|
+
assert adm_level == 2
|
|
97
|
+
assert warnings == ["PCode unknown AF0X->AF01 (parent)"]
|
|
98
|
+
|
|
99
|
+
provider_adm_names = ["Kabul", ""]
|
|
100
|
+
adm_codes = ["AF01", "AF0102"]
|
|
101
|
+
adm_names = ["", ""]
|
|
102
|
+
adm_level, warnings = complete_admins(
|
|
103
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
104
|
+
)
|
|
105
|
+
assert provider_adm_names == ["Kabul", ""]
|
|
106
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
107
|
+
assert adm_names == ["Kabul", "Paghman"]
|
|
108
|
+
assert adm_level == 2
|
|
109
|
+
assert warnings == []
|
|
110
|
+
|
|
111
|
+
provider_adm_names = ["Kabul", None]
|
|
112
|
+
adm_codes = ["AF01", None]
|
|
113
|
+
adm_names = [None, None]
|
|
114
|
+
adm_level, warnings = complete_admins(
|
|
115
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
116
|
+
)
|
|
117
|
+
assert adm_codes == ["AF01", ""]
|
|
118
|
+
assert adm_names == ["Kabul", ""]
|
|
119
|
+
assert adm_level == 1
|
|
120
|
+
assert warnings == []
|
|
121
|
+
|
|
122
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
123
|
+
adm_codes = ["AF02", "AF0102"]
|
|
124
|
+
adm_names = ["", ""]
|
|
125
|
+
adm_level, warnings = complete_admins(
|
|
126
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
127
|
+
)
|
|
128
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
129
|
+
assert adm_names == ["Kabul", "Paghman"]
|
|
130
|
+
assert adm_level == 2
|
|
131
|
+
assert warnings == ["PCode mismatch AF02->AF01 (parent)"]
|
|
132
|
+
|
|
133
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
134
|
+
adm_codes = ["AF01", "AF0103"]
|
|
135
|
+
adm_names = ["", ""]
|
|
136
|
+
adm_level, warnings = complete_admins(
|
|
137
|
+
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
138
|
+
)
|
|
139
|
+
assert provider_adm_names == ["Kabul", "Paghman"]
|
|
140
|
+
assert adm_codes == ["AF01", "AF0103"]
|
|
141
|
+
assert adm_names == ["Kabul", "Chahar Asyab"]
|
|
142
|
+
assert adm_level == 2
|
|
143
|
+
assert warnings == ["PCode mismatch AF0103 != Paghman"]
|
|
144
|
+
|
|
145
|
+
def test_pad_admins(self):
|
|
146
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
147
|
+
adm_codes = ["AF01", "AF0102"]
|
|
148
|
+
adm_names = ["", ""]
|
|
149
|
+
pad_admins(provider_adm_names, adm_codes, adm_names, 3)
|
|
150
|
+
assert provider_adm_names == ["Kabul", "Paghman", ""]
|
|
151
|
+
assert adm_codes == ["AF01", "AF0102", ""]
|
|
152
|
+
assert adm_names == ["", "", ""]
|
|
153
|
+
|
|
154
|
+
provider_adm_names = ["Kabul"]
|
|
155
|
+
adm_codes = ["AF01"]
|
|
156
|
+
adm_names = [""]
|
|
157
|
+
pad_admins(provider_adm_names, adm_codes, adm_names)
|
|
158
|
+
assert provider_adm_names == ["Kabul", ""]
|
|
159
|
+
assert adm_codes == ["AF01", ""]
|
|
160
|
+
assert adm_names == ["", ""]
|
|
161
|
+
|
|
162
|
+
provider_adm_names = []
|
|
163
|
+
adm_codes = []
|
|
164
|
+
adm_names = []
|
|
165
|
+
pad_admins(provider_adm_names, adm_codes, adm_names)
|
|
166
|
+
assert provider_adm_names == ["", ""]
|
|
167
|
+
assert adm_codes == ["", ""]
|
|
168
|
+
assert adm_names == ["", ""]
|
|
169
|
+
|
|
170
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
171
|
+
adm_codes = ["AF01", "AF0102"]
|
|
172
|
+
adm_names = ["", ""]
|
|
173
|
+
pad_admins(provider_adm_names, adm_codes, adm_names, 1)
|
|
174
|
+
assert provider_adm_names == ["Kabul", "Paghman"]
|
|
175
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
176
|
+
assert adm_names == ["", ""]
|
|
177
|
+
|
|
178
|
+
provider_adm_names = ["Kabul", "Paghman"]
|
|
179
|
+
adm_codes = ["AF01", "AF0102"]
|
|
180
|
+
adm_names = ["", ""]
|
|
181
|
+
pad_admins(provider_adm_names, adm_codes, adm_names, 2)
|
|
182
|
+
assert provider_adm_names == ["Kabul", "Paghman"]
|
|
183
|
+
assert adm_codes == ["AF01", "AF0102"]
|
|
184
|
+
assert adm_names == ["", ""]
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
from typing import List
|
|
2
|
-
|
|
3
|
-
from hdx.location.adminlevel import AdminLevel
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def complete_admins(
|
|
7
|
-
admins: List[AdminLevel],
|
|
8
|
-
countryiso3: str,
|
|
9
|
-
provider_adm_names: List[str],
|
|
10
|
-
adm_codes: List[str],
|
|
11
|
-
adm_names: List[str],
|
|
12
|
-
) -> None:
|
|
13
|
-
parent = None
|
|
14
|
-
for i, adm_code in enumerate(adm_codes):
|
|
15
|
-
if adm_code:
|
|
16
|
-
adm_name = admins[i].pcode_to_name.get(adm_code, "")
|
|
17
|
-
adm_names[i] = adm_name
|
|
18
|
-
continue
|
|
19
|
-
provider_adm_name = provider_adm_names[i]
|
|
20
|
-
if not provider_adm_name:
|
|
21
|
-
continue
|
|
22
|
-
adm_code, _ = admins[i].get_pcode(
|
|
23
|
-
countryiso3, provider_adm_name, parent=parent
|
|
24
|
-
)
|
|
25
|
-
if adm_code:
|
|
26
|
-
adm_codes[i] = adm_code
|
|
27
|
-
adm_name = admins[i].pcode_to_name.get(adm_code, "")
|
|
28
|
-
adm_names[i] = adm_name
|
|
29
|
-
parent = adm_code
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
from hdx.location.adminlevel import AdminLevel
|
|
2
|
-
from hdx.scraper.framework.utilities.hapi_admins import complete_admins
|
|
3
|
-
from hdx.scraper.framework.utilities.reader import Read
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class TestAdmins:
|
|
7
|
-
def test_complete_admins(self, configuration):
|
|
8
|
-
countryiso3 = "AFG"
|
|
9
|
-
admins = []
|
|
10
|
-
reader = Read.get_reader("hdx")
|
|
11
|
-
for i in range(2):
|
|
12
|
-
admin = AdminLevel(admin_level=i + 1, retriever=reader)
|
|
13
|
-
admin.setup_from_url(countryiso3s=(countryiso3,))
|
|
14
|
-
admin.load_pcode_formats()
|
|
15
|
-
admins.append(admin)
|
|
16
|
-
provider_adm_names = ["Kabal", "Paghman"]
|
|
17
|
-
adm_codes = ["AF01", ""]
|
|
18
|
-
adm_names = ["", ""]
|
|
19
|
-
complete_admins(
|
|
20
|
-
admins, countryiso3, provider_adm_names, adm_codes, adm_names
|
|
21
|
-
)
|
|
22
|
-
assert adm_codes == ["AF01", "AF0102"]
|
|
23
|
-
assert adm_names == ["Kabul", "Paghman"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/.github/workflows/run-python-tests.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/base_scraper.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/__init__.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/base.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/excelfile.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/outputs/json.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/scrapers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/lookup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/reader.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/sector.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/sources.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/src/hdx/scraper/framework/utilities/writer.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/config/project_configuration.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/additional-json.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/input/oxcgrt_oxcgrt_csv.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/test_scraper_other.json
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/fixtures/test_scraper_population.json
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/__init__.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/conftest.py
RENAMED
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/custom/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_scraper-2.5.9 → hdx_python_scraper-2.6.0}/tests/hdx/scraper/framework/test_runner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|