def KegToProto(keg, full=False): ret = models_pb2.Keg() ret.id = keg.id ret.keg_type = keg.keg_type ret.remaining_volume_ml = float(keg.remaining_volume_ml()) ret.full_volume_ml = keg.full_volume_ml ret.served_volume_ml = keg.served_volume_ml ret.spilled_volume_ml = keg.spilled_ml ret.percent_full = keg.percent_full() ret.start_time = datestr(keg.start_time) ret.end_time = datestr(keg.end_time) ret.online = keg.online if keg.description is not None: ret.description = keg.description ret.beverage.MergeFrom(ToProto(keg.type)) # Deprecated fields. ret.size_id = 0 ret.type_id = str(keg.type_id) ret.size_name = keg.keg_type ret.size_volume_ml = keg.full_volume_ml ret.volume_ml_remain = ret.remaining_volume_ml ret.spilled_ml = ret.spilled_volume_ml ret.type.MergeFrom(BeverageToBeerType(keg.type)) s = models_pb2.KegSize() s.id = 0 s.name = ret.size_name s.volume_ml = ret.size_volume_ml ret.size.MergeFrom(s) return ret
def KegToProto(keg, full=False): ret = models_pb2.Keg() ret.id = keg.seqn ret.url = keg.get_absolute_url() ret.type_id = str(keg.type.id) ret.size_id = keg.size.id ret.size_name = keg.size.name ret.size_volume_ml = keg.size.volume_ml rem = float(keg.remaining_volume()) ret.volume_ml_remain = rem ret.percent_full = keg.percent_full() ret.start_time = datestr(keg.start_time) ret.end_time = datestr(keg.end_time) ret.status = keg.status if keg.description is not None: ret.description = keg.description ret.spilled_ml = keg.spilled_ml if full: if keg.type: ret.type.MergeFrom(ToProto(keg.type)) if keg.size: ret.size.MergeFrom(ToProto(keg.size)) return ret