def setup_date(self):
        """
        Responsible for setting up date variables, self.date and self.custom_date
        """
        if self.search_date == "same day":
            self.date = today()
        elif self.search_date == "next day":
            self.date = tomorrow()
        elif self.search_date == "day before":
            self.date = yesterday()
        else:
            raise Nothing

        self.custom_date = custom_strftime("%A %B {S}, %Y", self.date)
        print(self.date)
                menu.append( self.output().format(**dictionary) )

        self.update_menu(menu)

    def first(self):
        """
        Return the first date to start with, default is today
        """
        return today()
        
    def output(self):
        return "{day_of_week} ({date})"

    def tomorrow_text(self):
        return "Tomorrow"

    def next_text(self):
        return "next "

    def format_date(self, d):
        return custom_strftime( "{S} %b %Y", d )

if __name__ == "__main__":

    t = RelativeDateFieldUpdater('Teacher Notices Database', 'Start Date')
    u = RelativeDateFieldUpdater('Teacher Notices Database', 'End Date')
    t.first = lambda : tomorrow()
    u.first = lambda : day_after_tomorrow()
    t.update_menu_relative_dates()
    u.update_menu_relative_dates()