コード例 #1
0
    def receivedWebsocketAlarm(self, data):
        self.logger.info('Received websocket alarm: %s', repr(data))

        alarm = Alarm(self.config)

        try:
            alarm.fromAlamos(data, self.logger)
        except:
            self.logger.error('Failed to process websocket alarm:',
                              exc_info=True)
            return

        self.processAlarm(alarm)
コード例 #2
0
    def test_einsatzmittel(self):
        json_str = (
            r'{'
            r'"unitCode": "LZ Kleve",'
            r'"COBRA_state": "ALERT",'
            r'"timestamp": "1635865439209",'
            r'"einsatzmittel": "FW KLV01 DLK23 1\nFW KLV Ger\u00e4tewarte\n'
            r'LZ KLV S\u00fcd\nLZ Kleve\nRD KLV01 RTW 1",'
            r'"userName": "******",'
            r'"time": "16:03",'
            r'"COBRA_keyword_1_text": "Brandschutz",'
            r'"COBRA_keyword_2": "",'
            r'"tvp": "TVPN031613beE005d5ea2",'
            r'"location_dest_long": "Ackerstrasse 299, 47533 Kleve\n'
            r'Kreuzung: \nSektion: \nAnwesen: \nStock: \nKommentar: ",'
            r'"address": "LZ Kleve",'
            r'"COBRA_keyword_1": "3",'
            r'"house": "299",'
            r'"COBRA_keyword_additional_2": "",'
            r'"city_abbr": "Kleve",'
            r'"dbId": "9471fb068f4aff5554723efc7b7a9336367f660'
            r'a5675f375956d66d9d3195f77",'
            r'"COBRA_keyword_ident_2": "",'
            r'"location_URL": '
            r'"https://maps.google.de/maps?q=51.77849377,6.11907405",'
            r'"COBRA_keyword_description_2": "",'
            r'"COBRA_LOCATION_SUBPROPERTY_2": "",'
            r'"clock_long": "16:03:58",'
            r'"keyword_1_long": "Einsatzart: B\nStichwort: 3\n'
            r'Meldebild: Zimmerbrand\nKlartext: Feuer gro\u00df",'
            r'"COBRA_ADDITIONAL_special_rights": "Ja",'
            r'"city": "Kleve",'
            r'"COBRA_LOCATION_SUBPROPERTY_4": "",'
            r'"pluginmessage": " Ackerstrasse 299, 47533 Kleve -- '
            r'Alarmiert: FW KLV01 DLK23 1;\nFW KLV Ger\u00e4tewarte;\n'
            r'LZ KLV S\u00fcd;\nLZ Kleve;\nRD KLV01 RTW 1",'
            r'"COBRA_reporter_name": "Müller",'
            r'"keyword": "B3 Zimmerbrand",'
            r'"COBRA_ADDITIONAL_callback": "",'
            r'"COBRA_keyword_ident_1": "B",'
            r'"street": "Ackerstrasse",'
            r'"gps": "GPSN51778494E06119074",'
            r'"COBRA_LOCATION_SUBPROPERTY_1": "",'
            r'"alertedRessources": "FW KLV01 DLK23 1;\n'
            r'FW KLV Ger\u00e4tewarte;\nLZ KLV S\u00fcd;\nLZ Kleve;\n'
            r'RD KLV01 RTW 1",'
            r'"keyword_misc": "Feuer gro\u00df",'
            r'"COBRA_LOCATION_property": "",'
            r'"COBRA_LOCATION_SUBPROPERTY_5": "",'
            r'"origin": " Ackerstrasse 299, 47533 Kleve -- Alarmiert: '
            r'FW KLV01 DLK23 1;\nFW KLV Ger\u00e4tewarte;\nLZ KLV S\u00fcd;\n'
            r'LZ Kleve;\nRD KLV01 RTW 1",'
            r'"COBRA_keyword_additional_1": "Zimmerbrand",'
            r'"keyword_ident": "B3 Zimmerbrand",'
            r'"COBRA_reporter": "Müller 017612345678",'
            r'"alarmState": "NEW",'
            r'"location_dest": "Ackerstrasse 299, 47533 Kleve",'
            r'"alarmType": "ALARM",'
            r'"keyword_description": "Feuer gro\u00df",'
            r'"COBRA_id": "de0513000000kvi80klp00",'
            r'"keyword_category": "\ud83d\udd25",'
            r'"COBRA_keyword_description_1": "Feuer gro\u00df",'
            r'"postalCode": "47533",'
            r'"lng": "6.11907405",'
            r'"COBRA_LOCATION_comment": "",'
            r'"COBRA_sender_client_id": "KLE_LTS",'
            r'"COBRA_ADDITIONAL_comment": "",'
            r'"COBRA_LOCATION_section": "",'
            r'"COBRA_LOCATION_crossing": "",'
            r'"COBRA_LOCATION_floor": "",'
            r'"COBRA_receiver_client_id": "KLE_ALAMOS",'
            r'"COBRA_all_previous_alerted_resources": "",'
            r'"COBRA_reporter_phone": "017612345678",'
            r'"COBRA_ADDITIONAL_priority": "0",'
            r'"keyword_2_long": "Einsatzart: \nStichwort: \nMeldebild: \n'
            r'Klartext: ",'
            r'"building": "",'
            r'"COBRA_ADDITIONAL_comment_callback": "",'
            r'"lat": "51.77849377",'
            r'"keyword_color": "#FF0000",'
            r'"COBRA_name": "1210057913",'
            r'"COBRA_LOCATION_SUBPROPERTY_3": "",'
            r'"unit": "01 - LZ Kleve"'
            r'}')

        config = configparser.ConfigParser()
        alarm = Alarm(config)
        alarm.fromAlamos(json.loads(json_str), logger)
        mittel = set((EinsatzMittel('FW', 'KLV', '01', 'DLK23', '1',
                                    'FW KLV01 DLK23 1'),
                      EinsatzMittel('', '', '', '', '', 'FW KLV Gerätewarte'),
                      EinsatzMittel('', '', '', '', '', 'LZ KLV Süd'),
                      EinsatzMittel('', '', '', '', '', 'LZ Kleve'),
                      EinsatzMittel('RD', 'KLV', '01', 'RTW', '1',
                                    'RD KLV01 RTW 1')))
        self.assertEqual(alarm.einsatzmittel, mittel)
        eh = alarm.einheiten(einheit, lambda x: False, logger, sonder)
        self.assertEqual(eh, 'LZ Kleve, LZ Materborn, LG Reichswalde')
        mittel_txt = alarm.alarmiert()
        self.assertEqual(
            mittel_txt,
            ('LZ KLV Süd, LZ Kleve, '
             'FW KLV Gerätewarte, FW KLV01 DLK23 1, RD KLV01 RTW 1'))