def create_fact(cls, **data): client = DimensionClient.insert(client_id=data['client_id']) item = DimensionItem.insert(item_id=data['item_id']) data_role = DimensionDataRole.insert(role=data['data_role']) definition = DimensionDefinition.insert(definition=data['definition']) processing_state = DimensionProcessingState.insert(processing_state=data['processing_state']) territory = DimensionTerritory.insert(code=data['territory']) asset = DimensionAssets.insert( asset_id=data['asset_id'], type=data['asset_type'] ) provider = DimensionItemProvider.insert( True, provider_id=data['provider_item_id'], provider_name=data['provider'], ) delivery_date = datetime.datetime.strptime(str(data['delivery_date']), settings.DATETIME_FORMAT) event_date = datetime.datetime.strptime(data['event_time'], settings.DATETIME_FORMAT) event_utc_datetime = datetime.datetime.strptime(data['event_time'], settings.DATETIME_FORMAT) fact = FactServicesBackstageAssetMatch.objects.create( client=client, item=item, asset=asset, data_role=data_role, processing_state=processing_state, provider=provider, territory=territory, spec_name=data['spec_name'], delivery_date=delivery_date, definition=definition, file_size=data['file_size'], duration=data['duration'], event_date=event_date.date(), event_utc_date=DimensionUTCDate.date_from_datetime(datetime=data['event_time']), event_utc_datetime=event_utc_datetime ) fact.save() if data['used_asset_ids']: for asset_id in data['used_asset_ids']: asset_dim = DimensionAssets.objects.get_or_create(asset_id=asset_id) fact.used_asset_ids.add(asset_dim[0].id) else: fact.used_asset_ids = '' if data['languages']: for language in data['languages']: lang_dim = DimensionLanguage.objects.get_or_create(iso_code=language) fact.languages.add(lang_dim[0].id) else: fact.languages = '' return fact
def create_fact(cls, **data): dip = DimensionItemProvider.insert( True, provider_id=data['provider_id'], provider_name=data['provider_name'], ) pl = DimensionLanguage.insert(iso_code=data['primary_language']) vendor = DimensionVendor.insert(name=data['vendor']) country = DimensionCountryCode.objects.get( iso_code=data['country_of_origin_iso']) meta_type = DimensionMetadataType.insert(type=data['type']) item = DimensionItem.insert(item_id=data['item_id']) f = FactServicesBackstageItemMetadata.objects.create( metadata_id=data['metadata_id'], version=data['version'], country_of_origin=country, title=data['title'], copyright_cline=data['copyright_cline'], provider=dip, type=meta_type, isan=data['isan'], eidr=data['eidr'], release_date=data['release_date'], production_company=data['production_company'], release_year=data['release_year'], primary_language=pl, short_synopsis=data['short_synopsis'], medium_synopsis=data['medium_synopsis'], long_synopsis=data['long_synopsis'], runtime=data['runtime'], vendor=vendor, episode_number=data['episode_number'] or None, season=data['season'] or None, show_title=data['show_title'] or None, created=data['created'], modified=data['modified'] or data['created'], original_url=data['original_url'], ultraviolet=data['ultraviolet'], event_utc_date=DimensionUTCDate.date_from_datetime( datetime=data['event_time']), event_utc_datetime=data['event_time']) f.item_meta.add(item) return f
def create_fact(cls, **data): dip = DimensionItemProvider.insert( True, provider_id=data['provider_id'], provider_name=data['provider_name'], ) pl = DimensionLanguage.insert(iso_code=data['primary_language']) vendor = DimensionVendor.insert(name=data['vendor']) country = DimensionCountryCode.objects.get(iso_code=data['country_of_origin_iso']) meta_type = DimensionMetadataType.insert(type=data['type']) item = DimensionItem.insert(item_id=data['item_id']) f = FactServicesBackstageItemMetadata.objects.create( metadata_id=data['metadata_id'], version=data['version'], country_of_origin=country, title=data['title'], copyright_cline=data['copyright_cline'], provider=dip, type=meta_type, isan=data['isan'], eidr=data['eidr'], release_date=data['release_date'], production_company=data['production_company'], release_year=data['release_year'], primary_language=pl, short_synopsis=data['short_synopsis'], medium_synopsis=data['medium_synopsis'], long_synopsis=data['long_synopsis'], runtime=data['runtime'], vendor=vendor, episode_number=data['episode_number'] or None, season=data['season'] or None, show_title=data['show_title'] or None, created=data['created'], modified=data['modified'] or data['created'], original_url=data['original_url'], ultraviolet=data['ultraviolet'], event_utc_date=DimensionUTCDate.date_from_datetime(datetime=data['event_time']), event_utc_datetime=data['event_time'] ) f.item_meta.add(item) return f