from delphi_api.bigtable import BigTableModel, ProtoAttribute, TextAttribute from delphi_api.bigtable.decorators import apply_dynamic_fields from delphi_api.v2.constants import APPLE_COUNTRY_CODES from delphi_api.v2.enums import ColumnFamily, ColumnName, TableName from delphi_api.v2.proto.gen.apple_v2_pb2 import AppleTrackStreamStats @apply_dynamic_fields(APPLE_COUNTRY_CODES, column_family=ColumnFamily.APPLE.value, field_class=ProtoAttribute, deserialize_class=AppleTrackStreamStats) class AppleTrackStream(BigTableModel): class Meta: table_name = TableName.apple_stream_track.value country_codes = APPLE_COUNTRY_CODES date = TextAttribute(column_family=ColumnFamily.APPLE.value, attr_name=ColumnName.DATE.value) dsp = TextAttribute(column_family=ColumnFamily.APPLE.value, attr_name=ColumnName.DSP.value) isrc = TextAttribute(column_family=ColumnFamily.APPLE.value, attr_name=ColumnName.ISRC.value)