from psycopg2 import IntegrityError from newslynx.core import gen_session from newslynx.models import ExtractCache from newslynx.models import (ContentItem, Tag, Recipe, Author) from newslynx.models.util import (get_table_columns, fetch_by_id_or_field) from newslynx.views.util import validate_content_item_types from newslynx.exc import RequestError from newslynx.tasks import ingest_util extract_cache = ExtractCache() def ingest(obj, org_id, url_fields=['body'], requires=['url', 'type'], extract=True, kill_session=True): """ Ingest an Event. """ # distinct session for this eventlet. session = gen_session() # check required fields ingest_util.check_requires(obj, requires, type='Content Item') # validate type validate_content_item_types(obj['type'])