示例#1
0
    def testGetVendorsForEvent(self):
        eventDescriptions = [
            'Event Description\nFood vendors: vendorOne\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne\nvendorTwo',
            'Event Description\nFood trucks:\n\n\rvendorOne\nvendorTwo',
            'Event Description\nVendor lineup:\n\n\rvendorOne\nvendorTwo',
            'Event Description\nTruck lineup:\n\n\rvendorOne\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne\nvendorTo',
            'Event Description\nFood vendors:\n\n\rvendorOne truck\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne truck\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne vendor\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne cart\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne trailer\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne truck-cart\nvendorTwo',
            'Event Description\nFood vendors:\n\n\rvendorOne\nvendorTo',
            'Event Description\nFood vendors:\n\n\rvendorOne\nvendorTooo',
            'Event Description\nFood vendors:\n\n\rvendorOne\nvendorTooo',
        ]

        eventVendorLists = [
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo', 'vendorToo'],
        ]

        expectedVendorLists = [
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorTwo'],
            ['vendorOne', 'vendorToo'],
        ]
        msg = "{0} --> {1} != {2}"

        for eventDescription, vendorList, expectedVendors in zip(
            eventDescriptions, eventVendorLists, expectedVendorLists
        ):
            actualVendors = getVendorsForEvent(eventDescription, vendorList)
            self.assertEqual(actualVendors, expectedVendors, msg.format(
                eventDescription, actualVendors, expectedVendors))
示例#2
0
    def updateData(self):
        gridEvent.objects.all().delete()
        gridVendor.objects.all().delete()
        gridEventVendor.objects.all().delete()

        pastEvents = self.getPastEvents()
        vendorInfo = self.getVendorInfo()

        vendors = [
            vendorName for (vendorName, vendorImg, vendorLink) in vendorInfo
        ]
        pastEventCountDict = {vendorName: 0 for vendorName in vendors}

        for eventName, startDate, eventLocation, eventDescription in pastEvents:
            eventVendors = getVendorsForEvent(eventDescription, vendors)

            for eventVendor in eventVendors:
                pastEventCountDict[eventVendor] = pastEventCountDict.get(
                    eventVendor, 0) + 1

        for (vendorName, vendorLink, vendorImg) in vendorInfo:
            grid_vendor = gridVendor(
                vendor_name=vendorName,
                vendor_link=vendorLink,
                vendor_img=vendorImg,
                event_count=pastEventCountDict[vendorName])
            grid_vendor.save()

        upcomingEvents = self.getUpcomingEvents()

        for (eventName, startDate, eventLocation,
             eventDescription) in upcomingEvents:
            upcomingGridEvent = gridEvent(event_name=eventName.replace(
                'Off the Grid: ', ''),
                                          event_location=eventLocation,
                                          start_date=startDate)
            upcomingGridEvent.save()
            eventVendors = getVendorsForEvent(eventDescription, vendors)

            for eventVendor in eventVendors:
                upcomingGridVendor = gridVendor.objects.filter(
                    vendor_name=eventVendor)[0]

                upcomingGridEventVendor = gridEventVendor(
                    grid_event=upcomingGridEvent,
                    grid_vendor=upcomingGridVendor)
                upcomingGridEventVendor.save()
示例#3
0
def updateData(today):
    gridEvent.objects.all().delete()
    gridVendor.objects.all().delete()
    gridEventVendor.objects.all().delete()

    pastEvents = getPastEvents(today)
    vendorInfo = getVendorInfo()

    vendors = [vendorName for (vendorName, vendorImg,
                               vendorLink) in vendorInfo]
    pastEventCountDict = {vendorName: 0 for vendorName in vendors}

    for eventName, startDate, eventLocation, eventDescription in pastEvents:
        eventVendors = getVendorsForEvent(eventDescription, vendors)

        for eventVendor in eventVendors:
            pastEventCountDict[eventVendor] = pastEventCountDict.get(
                eventVendor, 0) + 1

    for (vendorName, vendorLink, vendorImg) in vendorInfo:
        grid_vendor = gridVendor(
            vendor_name=vendorName, vendor_link=vendorLink,
            vendor_img=vendorImg, event_count=pastEventCountDict[vendorName])
        grid_vendor.save()

    upcomingEvents = getUpcomingEvents(today)

    for (eventName, startDate, eventLocation,
         eventDescription) in upcomingEvents:
        upcomingGridEvent = gridEvent(
            event_name=eventName.replace(
                'Off the Grid: ', ''),
            event_location=eventLocation,
            start_date=startDate)
        upcomingGridEvent.save()
        eventVendors = getVendorsForEvent(eventDescription, vendors)

        for eventVendor in eventVendors:
            upcomingGridVendor = gridVendor.objects.filter(
                vendor_name=eventVendor)[0]

            upcomingGridEventVendor = gridEventVendor(
                grid_event=upcomingGridEvent,
                grid_vendor=upcomingGridVendor)
            upcomingGridEventVendor.save()