(self, source_id: str, source: dict)
| 2828 | return None |
| 2829 | |
| 2830 | def check_source(self, source_id: str, source: dict) -> Optional[dict]: |
| 2831 | check_type = source.get("check_type", "http_head") |
| 2832 | if check_type == "rss": |
| 2833 | return self.rss.check(source_id, source) |
| 2834 | elif check_type == "google_search": |
| 2835 | print(f" SKIP (google_search deprecated, source needs migration)") |
| 2836 | return None |
| 2837 | elif check_type == "ec_page_scrape": |
| 2838 | return self.mdcg_scraper.check(source_id, source) |
| 2839 | elif check_type == "ec_latest_updates": |
| 2840 | return self.ec_latest.check(source_id, source) |
| 2841 | elif check_type == "openfda_guidance": |
| 2842 | result = self.openfda.check(source_id, source) |
| 2843 | if result: |
| 2844 | result = self._apply_db_comparison(result) |
| 2845 | return result |
| 2846 | elif check_type == "ecfr_api": |
| 2847 | return self.ecfr.check(source_id, source) |
| 2848 | elif check_type == "fda_safety_page": |
| 2849 | return self.fda_safety.check(source_id, source) |
| 2850 | elif check_type == "openfda_enforcement": |
| 2851 | return self.fda_recall.check(source_id, source) |
| 2852 | elif check_type == "fda_cdrh_news": |
| 2853 | return self.cdrh_news.check(source_id, source) |
| 2854 | elif check_type == "atom_feed": |
| 2855 | return self.atom_feed.check(source_id, source) |
| 2856 | elif check_type == "canada_recalls": |
| 2857 | return self.canada_recalls.check(source_id, source) |
| 2858 | elif check_type == "pmda_whatsnew": |
| 2859 | return self.pmda_whatsnew.check(source_id, source) |
| 2860 | elif check_type == "pmda_page": |
| 2861 | return self.pmda.check(source_id, source) |
| 2862 | elif check_type == "pmda_recalls": |
| 2863 | return self.pmda_recalls.check(source_id, source) |
| 2864 | elif check_type == "mfds_page": |
| 2865 | return self.mfds.check(source_id, source) |
| 2866 | elif check_type == "tga_rss": |
| 2867 | return self.tga_rss.check(source_id, source) |
| 2868 | elif check_type == "swissmedic_csv": |
| 2869 | return self.swissmedic.check(source_id, source) |
| 2870 | elif check_type == "sfda_weekly": |
| 2871 | return self.sfda.check(source_id, source) |
| 2872 | elif check_type == "sfda_rss": |
| 2873 | return self.sfda.check(source_id, source) |
| 2874 | elif check_type == "anvisa_page": |
| 2875 | return self.anvisa.check(source_id, source) |
| 2876 | elif check_type == "medsafe_page": |
| 2877 | return self.medsafe.check(source_id, source) |
| 2878 | elif check_type == "hsa_guidance": |
| 2879 | return self.hsa_guidance.check(source_id, source) |
| 2880 | elif check_type == "hsa_announcements": |
| 2881 | return self.hsa_announcements.check(source_id, source) |
| 2882 | elif check_type == "cofepris_page": |
| 2883 | return self.cofepris.check(source_id, source) |
| 2884 | elif check_type == "anmat_page": |
| 2885 | return self.anmat.check(source_id, source) |
| 2886 | elif check_type == "tfda_opendata": |
| 2887 | return self.tfda.check(source_id, source) |
no test coverage detected