Changeset 167:d0e0d0aeda52

Show
Ignore:
Timestamp:
11/19/08 06:19:24 (3 years ago)
Author:
chris
Branch:
CAP_1.1
Message:

move StormSiren specific code out of the XmlWeather class into the StormWeather class

Location:
StormSiren
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • StormSiren/StormWeather.py

    r164 r167  
    5151class StormWeather(XmlWeather): 
    5252        def __init__(self, state, history, simfetch = False, simalert = False, proxy = None): 
    53                 super(StormWeather,self).__init__(state,history,simfetch,proxy) 
     53                super(StormWeather,self).__init__(state,simfetch,proxy) 
    5454                self.log = logging.getLogger("StormWeather") 
    5555                self.__alert_devs = [] 
    5656                self.__simalert = simalert 
     57                self.__history = history 
    5758         
    58         def display(self): 
    59                 return self.__str__() 
    60  
    6159        def __str__(self): 
    6260                str  = "StormWeather: " + "\n" 
     
    7674                self.__alert_devs.append(dev) 
    7775 
    78         def handleAlert(self, cap_item): 
    79                 alerted = False 
    80  
    81                 for dev in self.__alert_devs: 
    82                         if(dev.isAlertWanted(cap_item)): 
    83                                 if(not self.__simalert): 
    84                                         cap_item.expand(self.simfetch,self.proxy) 
    85                                         dev.send(WeatherAlert(cap_item)) 
    86                                         alerted = True 
    87                                 else: 
    88                                         self.log.info("Simulated Alert on: %s" % cap_item.id) 
    89  
    90                 return alerted 
     76        def handleAlert(self, cap_atom): 
     77                if(not self.__history.exists(cap_atom.id)): 
     78                        for dev in self.__alert_devs: 
     79                                if(dev.isAlertWanted(cap_atom)): 
     80                                        if(not self.__simalert): 
     81                                                cap_atom.expand(self.simfetch,self.proxy) 
     82                                                dev.send(WeatherAlert(cap_atom)) 
     83                                                self.__history.add(cap_atom.id) 
     84                                        else: 
     85                                                self.log.info("Simulated Alert on: %s" % cap_atom.id) 
     86                else: 
     87                        self.log.debug("Ignoring %s: Already alerted on" % cap_atom.id) 
  • StormSiren/XmlWeather.py

    r161 r167  
    4949 
    5050class XmlWeather(object): 
    51         def __init__(self, state, history, simfetch = False, proxy = None): 
     51        def __init__(self, state, simfetch = False, proxy = None): 
    5252                super(XmlWeather,self).__init__() 
    5353                self.__data       = '' 
     
    5555                self.__dom        = [] 
    5656                self.__baseurl    = 'http://www.weather.gov/wwarss-tst/' 
    57                 #self.__url        = "http://www.weather.gov/alerts/" + self.__state.lower() + ".cap"  
    5857                self.__url        = self.__baseurl + self.__state.lower() + ".php?x=0"  
    5958                self.__tag_item   = 'entry' 
    60                 self.__history    = history 
    6159                self.__simfetch   = simfetch 
    6260                self.__proxy      = proxy 
    6361                self.__atoms      = XmlFetcher(self.__url, self.__simfetch, self.__proxy) 
    64                 self.log = logging.getLogger("XmlWeather") 
     62                self.log          = logging.getLogger("XmlWeather") 
    6563 
    6664        def fetch(self): 
     
    7674        def __str__(self): 
    7775                str  = "XmlWeather:\n" + \ 
     76                                "SimFetch: " + self.__simfetch + "\n" + \ 
     77                                "Proxy: " + self.__proxy + "\n" + \ 
    7878                                "State: " + self.__state + "\n" + \ 
    7979                                "URL: " + self.__url + "\n" 
     
    8585        def __parse(self): 
    8686                for capXmlText in self.__dom.getElementsByTagName(self.__tag_item): 
    87                         cap_item = CapAtom(capXmlText, self.__state) 
    88                         cap_item.display() 
    89                         if(not self.__history.exists(cap_item.id)): 
    90                                 alerted = self.handleAlert(cap_item) 
    91                                 if(alerted): 
    92                                         self.__history.add(cap_item.id) 
    93                         else: 
    94                                 self.log.debug("Ignoring %s: Already alerted on" % cap_item.id) 
     87                        cap_atom = CapAtom(capXmlText, self.__state) 
     88                        cap_atom.display() 
     89                        self.handleAtom(cap_atom) 
    9590 
    96         def handleAlert(self,cap_item): 
    97                 self.log.debug("handleAlert(%s) - %s/%s" % (cap_item.id, cap_item.county, cap_item.state)) 
    98                 return True 
     91        def handleAtom(self,cap_atom): 
     92                pass 
    9993 
    10094        def getSimFetch(self):