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))
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()
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()