#Class to hold the final output
#feeds for each geographic location

class FinalFeed:
    
    def __init__(self):
        self.items = None
        
    def addItem(self, item):
        if item != None:
            self.items.append(item)
        
    def getItems(self):
        return self.items
        
    def sort(self):
        #sort items chronilogically
        self.items.sort(key = lambda item:
       item.getTimestamp(), reverse=True)
        
        #if four items from the same publication appear in a row
        #swap the fourth for a story from another publication
        #if there's one that isn't too old
        for i in range(len(self.items) - 4):
            if(self.items[i + 1].getDisplayURL() == self.items[i].getDisplayURL() and
            self.items[i + 2].getDisplayURL() == self.items[i].getDisplayURL() and 
            self.items[i + 3].getDisplayURL() == self.items[i].getDisplayURL()):
            
                for j in range(i + 4, len(self.items)):
                    if(self.items[j].getDisplayURL() != self.items[i].getDisplayURL() and
                    self.items[j].getTimestamp() < self.items[i].getTimestamp() + 172800):
                        temp = self.items[i + 3]
                        self.items[i + 3] = self.items[j]
                        self.items[j] = temp