Beispiel #1
0
    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))
Beispiel #2
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()
Beispiel #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()