50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
class WarningSources:
 | 
						|
    '''
 | 
						|
    A collection of sources of the BBK
 | 
						|
    '''
 | 
						|
    @staticmethod
 | 
						|
    def bbk_dwd():
 | 
						|
        return 'https://warnung.bund.de/bbk.dwd/unwetter.json'
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def bbk_mowas():
 | 
						|
        return 'https://warnung.bund.de/bbk.mowas/gefahrendurchsagen.json'
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def bbk_biwapp():
 | 
						|
        return 'https://warnung.bund.de/bbk.biwapp/warnmeldungen.json'
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def bbk_ihp():
 | 
						|
        return 'https://warnung.bund.de/bbk.lhp/hochwassermeldungen.json'
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def source_by_name(name):
 | 
						|
        return {
 | 
						|
                'IHP': WarningSources.bbk_ihp(),
 | 
						|
                'DWD': WarningSources.bbk_dwd(),
 | 
						|
                'MOWAS': WarningSources.bbk_mowas(),
 | 
						|
                'BIWAPP': WarningSources.bbk_biwapp()
 | 
						|
                }[name]
 | 
						|
 | 
						|
class MiscDataSources:
 | 
						|
    '''
 | 
						|
    A collection of other data sources for various use cases
 | 
						|
    '''
 | 
						|
    @staticmethod
 | 
						|
    def channels():
 | 
						|
        '''
 | 
						|
        These are the valid names to retrieve warnings for
 | 
						|
        '''
 | 
						|
        return 'https://warnung.bund.de/assets/json/suche_channel.json'
 | 
						|
 | 
						|
def sources_from_config(config):
 | 
						|
    sources = []
 | 
						|
    for module in ('IHP', 'DWD', 'BIWAPP', 'MOWAS'):
 | 
						|
        option = config['General'].get(module, 'n')
 | 
						|
 | 
						|
        if option == 'y':
 | 
						|
            sources.append(WarningSources.source_by_name(module))
 | 
						|
 | 
						|
    return sources
 |