campaigndefinition_serialization.py (1397B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\campaigns\client\v1\data_model\flatbuffer\campaigndefinition_serialization.py 2 import campaigns.client.v1.data_model.flatbuffer.campaigndefinition_generated as fb_campaign 3 from campaigns.client.v1.data_model.campaign import Campaign 4 from flatbuffers import Builder 5 6 def serialize_campaigns_list_to_flatbuffer(campaign_list): 7 builder = Builder() 8 serialized_campaigns = [] 9 for campaign in campaign_list: 10 serialized_campaigns.append(campaign.to_flatbuffer(builder)) 11 12 fb_campaign.CampaignListStartCampaignsVector(builder, len(serialized_campaigns)) 13 for serialized_campaign in reversed(serialized_campaigns): 14 builder.PrependUOffsetTRelative(serialized_campaign) 15 16 campaigns_fb = builder.EndVector() 17 fb_campaign.CampaignListStart(builder) 18 fb_campaign.CampaignListAddCampaigns(builder, campaigns_fb) 19 campaign_list_fb = fb_campaign.CampaignListEnd(builder) 20 builder.Finish(campaign_list_fb) 21 return builder.Output() 22 23 24 def deserialize_flatbuffer_to_campaigns_list(flatbuffer_data): 25 campaign_list = fb_campaign.CampaignList.GetRootAs(flatbuffer_data) 26 definitions = [] 27 for i in range(campaign_list.CampaignsLength()): 28 definition = Campaign.from_flatbuffer(campaign_list.Campaigns(i)) 29 definitions.append(definition) 30 31 return definitions