def testGetPastEvents(self): now = datetime.now(tz=timezone(settings.TIME_ZONE)) daysAgo = 30 mockData = { 'data': [ { 'name': 'eventOne', 'start_time': str(now + timedelta(days=5)), 'location': 'locOne', 'description': 'descrOne' }, { 'name': 'eventTwo', 'start_time': str(now - timedelta(days=daysAgo - 0)), 'location': 'locTwo', 'description': 'descrTwo' }, { 'name': 'eventThree', 'start_time': str(now - timedelta(days=daysAgo - 1)), 'location': 'locThree', 'description': 'descrThree' }, { 'name': 'eventFour', 'start_time': str(now - timedelta(days=daysAgo + 5)), 'location': 'locFour', 'description': 'descrFour' } ], 'paging': { 'next': 'http://www.nextPage.com/' } } mock_upcoming_events_file = os.path.abspath(os.path.join( os.path.dirname(__file__), "mockData/mockPastEvents.json")) with open(mock_upcoming_events_file, 'w') as f: dump(mockData, f) expectedData = [ ('eventTwo', str(now - timedelta(days=daysAgo - 0)), 'locTwo', 'descrTwo'), ('eventThree', str(now - timedelta(days=daysAgo - 1)), 'locThree', 'descrThree') ] actualData = getPastEvents(now, daysAgo=daysAgo, mockData=True) msg = "{0} != {1}" self.assertEqual(actualData, expectedData, msg=msg.format(actualData, expectedData))
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()
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()