from delphi_api.bigtable import BigTableModel, ProtoAttribute, TextAttribute from delphi_api.bigtable.decorators import apply_dynamic_fields from delphi_api.v2.constants import YOUTUBE_COUNTRY_CODES from delphi_api.v2.enums import ColumnFamily, ColumnName, TableName from delphi_api.v2.proto.gen.youtube_v2_pb2 import YouTubeTrackStreamStats @apply_dynamic_fields(YOUTUBE_COUNTRY_CODES, column_family=ColumnFamily.YOUTUBE.value, field_class=ProtoAttribute, deserialize_class=YouTubeTrackStreamStats) class YouTubeTrackStream(BigTableModel): class Meta: table_name = TableName.youtube_stream_track.value country_codes = YOUTUBE_COUNTRY_CODES date = TextAttribute(column_family=ColumnFamily.YOUTUBE.value, attr_name=ColumnName.DATE.value) dsp = TextAttribute(column_family=ColumnFamily.YOUTUBE.value, attr_name=ColumnName.DSP.value) isrc = TextAttribute(column_family=ColumnFamily.YOUTUBE.value, attr_name=ColumnName.ISRC.value)