Beispiel #1
0
def import_by_pageids(page_ids, start_filter=None):
    event_mgr = EventImportManager()
    importlog.info('Searching %d pages for events.' % len(page_ids))
    event_mgr.pull_event_info_from_pages(page_ids)

    import_count = 0
    for page_id in page_ids:
        reports = event_mgr.import_events_from_page(page_id, start_filter)
        if len(reports):
            importlog.info('Importing events for Facebook page %s' % page_id)
        for report in reports:
            if report.notices:
                for notice in report.notices:
                    if isinstance(notice,
                                  EventImportReport.EventInstanceExists):
                        importlog.info('%s: Record for Event exists' %
                                       report.fbevent_id)
                    else:
                        importlog.error('%s: %s' %
                                        (report.fbevent_id, unicode(notice)))
            else:
                importlog.info(
                    '%s: Imported successfully as %s' %
                    (report.fbevent_id, unicode(report.event_instance)))
                import_count += 1
    importlog.info('Imported %d new Events' % import_count)
def import_by_pageids(page_ids,start_filter=None):
    event_mgr = EventImportManager()
    importlog.info('Searching %d pages for events.' % len(page_ids))
    event_mgr.pull_event_info_from_pages(page_ids)

    import_count = 0
    for page_id in page_ids:
        reports = event_mgr.import_events_from_page(page_id,start_filter)
        if len(reports):
            importlog.info('Importing events for Facebook page %s' % page_id)
        for report in reports:
            if report.notices:
                for notice in report.notices:
                    if isinstance(notice,EventImportReport.EventInstanceExists):
                        importlog.info('%s: Record for Event exists' % report.fbevent_id)
                    else:
                        importlog.error('%s: %s' % (report.fbevent_id,unicode(notice)))
            else:
                importlog.info('%s: Imported successfully as %s' % (report.fbevent_id,unicode(report.event_instance)))
                import_count += 1
    importlog.info('Imported %d new Events' % import_count)
Beispiel #3
0
    def test_import_by_pages(self):
        '''Tests the importing of all events connected to a batch of pages'''
        pid_expected_pairs = [  ('244531268545',True),      # normal page - Altar Bar
                                ('45577318529',True),       # normal page - August Wilson Ctr
                                ('63893177312',True),       # normal page - Opus One
                                ('121994841144517',False),  # page that shouldn't have events
                                ('9423481220941280',False), # bogus fbid
                ]
        random.shuffle(pid_expected_pairs)

        start_filter = datetime(2012,1,1)
        # a lot of this will depend on live FB data. this test will be pretty 
        #  lightweight. Mostly just looking for unexpected failured.
        pids = [pid for pid,_ in pid_expected_pairs]
        mgr = EventImportManager()
        mgr.pull_event_info_from_pages(pids)
        result_lists = [mgr.import_events_from_page(pid,start_filter=start_filter,import_owners=True)
                            for pid in pids]
        self.assertEquals(len(result_lists),len(pids),
                            'unexpected number of EventImportReport groups returned')

        for pid_exp_pair,result_list in zip(pid_expected_pairs,result_lists):
            pid,expected = pid_exp_pair
            if expected:
                for result in result_list:
                    # basic sanity tests
                    self.assertIsNotNone(result.event_instance)
                    self.assertEquals(result.notices,[])
                    # assert each event starts after the filter time
                    self.assertGreaterEqual(result.event_instance.dtstart,start_filter)
                    # test to make sure the origin page's linked Org ends up as the event host
                    page_linked_org = FacebookOrgRecord.objects.get(fb_id=pid).organization
                    event_owner = result.event_instance.role_set.get(role_type='host').organization
                    self.assertEquals(page_linked_org,event_owner)
            else:
                self.assertEquals([],result_list)