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