0

我编写了一个 Python 脚本,当超过河流水位时,它会向我的 Facebook 页面发布警告。我注意到,当它发布到 Facebook 时,它会发布两次。一次有数据,第二次没有数据。我不知道它是在哪里导致第二个帖子。这是Class代码的一部分:

class River():
   def __init__(self, station, stage, major, moderate, flood, action, warn):
       self.station = station
       self.stage = stage
       self.major = major
       self.moderate = moderate
       self.flood = flood
       self.action = action
       self.warn = warn

       if self.major == 0:
            self.major = self.action
       if self.moderate == 0:
            self.moderate = self.action
       if self.flood == 0:
            self.flood = self.action

   def alerts(self):          
        if float(self.stage) < float(self.action):
            pass
        elif float(self.stage) >= float(self.major):
            warn = ('The %s has reached [Major Flood Stage: (%sFt)] @ %sFt.\n\n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.major, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)
        elif float(self.stage) >= float(self.moderate):
            warn = ('The %s has reached [Moderate Flood Stage: (%sFt)] @ %sFt.\n \n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.moderate, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)
        elif float(self.stage) >= float(self.flood):
            warn = ('The %s has reached [Flood Stage: (%sFt)] @ %sFt.\n\n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.flood, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)
        elif float(self.stage) >= float(self.action):
            warn = ('The %s has reached [Action Flood Stage: (%sFt)] @ %sFt.\n\n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.action, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)


def riverlist():
    river_list = []
    for n in range(len(stx_list)):
        station = River(stx_list[n], levels[n], major_lvl[n], moderate_lvl[n], flood_lvl[n], action_lvl[n], warns[n])
        river_list.append(station)
    return river_list

if __name__ == '__main__':
    for river in riverlist():
        print(river.alerts())

Class 对象上面的代码都是 html 解析和列表构建,所以为了简洁起见,我没有将它包含在示例中。如果我需要包含它,我会这样做。谢谢您的帮助!

4

0 回答 0