Does a list of dailies and yields each result
        
        Takes a list of valid dailies, initiates each one, and then proceeds
        to play each one and yield it's resulting message. Note that the names
        given in the list must be the same as the daily's class file. 
        
        Parameters
           usr (User) - User to do the dailies with
           dailyList (list) - List of all daily names to perform

def doDailies(usr, dailyList):
        """ Does a list of dailies and yields each result
        
        Takes a list of valid dailies, initiates each one, and then proceeds
        to play each one and yield it's resulting message. Note that the names
        given in the list must be the same as the daily's class file. 
        
        Parameters
           usr (User) - User to do the dailies with
           dailyList (list) - List of all daily names to perform
        """
        # Load all supported dailies
        dailies = []
        for daily in Daily.__subclasses__():
            dailies.append(daily.__name__)
            
        # Verify the list is accurate
        for daily in dailyList:
            if not daily in dailies:
                raise invalidDaily
                
        for daily in Daily.__subclasses__():
            if not daily.__name__ in dailyList: continue
            
            inst = daily(usr)
            try:
                inst.play()
                yield daily.__name__ + ": " + inst.getMessage()
            except dailyAlreadyDone:
                yield daily.__name__ + ": This daily is already done!"
            except parseException:
                yield daily.__name__ + ": A serious error has occurred. Please refer to the logs."
            except marrowNotAvailable:
                yield daily.__name__ + ": Not available at this time!"
            except tombolaClosed:
                yield daily.__name__ + ": Tombola is currently closed!"