def _deserialize_text_widget(stream, w): version = ds_long(stream) w.value = ds_unicode(stream) w.place_holder = ds_unicode(stream) w.max_chars = ds_long(stream) w.keyboard_type = ds_unicode(stream) if version >= 2 else TextWidget.keyboard_type.default return w
def _deserialize_news_sender(stream): _ = ds_long(stream) # version sender = NewsSenderTO() sender.email = ds_unicode(stream) sender.name = ds_unicode(stream) sender.avatar_id = ds_long(stream) return sender
def _deserialize_advanced_order_category(stream): c = AdvancedOrderCategory() ds_long(stream) # version c.id = ds_unicode(stream) c.name = ds_unicode(stream) c.items = _deserialize_advanced_order_item_list(stream) return c
def deserialize_advanced_order(stream): ds_long(stream) w = AdvancedOrder() w.currency = ds_unicode(stream) w.leap_time = ds_long(stream) w.categories = _deserialize_advanced_order_category_list(stream) return w
def deserialize_oauth(stream): ds_long(stream) # version w = Oauth() w.url = ds_unicode(stream) w.success_message = ds_unicode(stream) w.caption = ds_unicode(stream) return w
def _deserialize_prospect_comment(stream, version): comment = ProspectComment() comment.index = ds_long(stream) comment.text = ds_unicode(stream) comment.creator = ds_unicode(stream) comment.timestamp = ds_long(stream) return comment
def deserialize_pay_widget_result(stream): ds_long(stream) # version result = PayWidgetResult() result.transaction_id = ds_unicode(stream) result.provider_id = ds_unicode(stream) result.status = ds_unicode(stream) return result
def _deserialize_base_payment_method(stream): version = ds_long(stream) # version if version > 1: if not ds_bool(stream): return None return BasePaymentMethod(currency=ds_unicode(stream), amount=ds_long(stream), precision=ds_long(stream))
def _deserialize_button(stream, version): b = Button() b.id = ds_unicode(stream) b.index = ds_long(stream) b.caption = ds_unicode(stream) b.action = ds_unicode(stream) b.ui_flags = ds_long(stream) if version >= 2 else 0 return b
def _deserialize_attachment(stream, version): a = Attachment() a.index = ds_long(stream) a.content_type = ds_unicode(stream) a.download_url = ds_unicode(stream) a.size = ds_long(stream) a.name = None if version < 2 else ds_unicode(stream) return a
def _deserialize_payment_method(stream): c = PaymentMethod() ds_long(stream) # version c.provider_id = ds_unicode(stream) c.currency = ds_unicode(stream) c.amount = ds_long(stream) c.precision = ds_long(stream) return c
def _ds_thumbnail(stream): has_thumbnail = ds_bool(stream) if has_thumbnail: return Thumbnail( url=ds_unicode(stream), height=ds_long(stream), width=ds_long(stream), ) return None
def deserialize_form_result(stream): ds_long(stream) # version type = ds_unicode(stream) # @ReservedAssignment if not type: return None fr = FormResult() fr.type = type fr.result = WIDGET_RESULT_MAPPING[fr.type].model_deserialize(stream) return fr
def _ds_collection_to(stream, version): to = CollectionTO() to.epoch = ds_long(stream) to.year = ds_long(stream) to.month = ds_long(stream) to.day = ds_long(stream) _version = ds_long(stream) to.activity = _ds_activity_to(stream, _version) return to
def deserialize_location_widget_result(stream): version = ds_long(stream) result = LocationWidgetResult() result.horizontal_accuracy = ds_float(stream) result.latitude = ds_float(stream) result.longitude = ds_float(stream) result.altitude = ds_float(stream) result.timestamp = 0 if version < 2 else ds_long(stream) result.vertical_accuracy = -1 if version < 2 else ds_float(stream) return result
def _deserialize_kv_store(stream): ds_long(stream) # version ancestor_key = ds_str(stream) if ancestor_key is None: return None kv_store = KVStore(db.Key(ancestor_key)) kv_store._bucket_sizes = _deserialize_dict(stream, ds_long, ds_long) kv_store._keys = _deserialize_dict(stream, ds_unicode, ds_long) kv_store._blob_keys = _deserialize_dict(stream, ds_unicode, ds_long_list) return kv_store
def _deserialize_payment_method(stream): c = PaymentMethod() version = ds_long(stream) # version c.provider_id = ds_unicode(stream) c.currency = ds_unicode(stream) c.amount = ds_long(stream) c.precision = ds_long(stream) c.calculate_amount = ds_bool(stream) if version > 1 else False c.target = ds_unicode(stream) if version > 1 else None return c
def _deserialize_news_target_audience(stream, version): target_audience = None if ds_bool(stream): # target audience enabled target_audience = NewsTargetAudienceTO() target_audience.min_age = ds_long(stream) target_audience.max_age = ds_long(stream) target_audience.gender = ds_long(stream) if version >= 6: target_audience.connected_users_only = ds_bool(stream) return target_audience
def _deserialize_message_embedded_app(stream): # type: (StringIO.StringIO) -> MessageEmbeddedApp ds_long(stream) # version obj = MessageEmbeddedApp() obj.context = ds_unicode(stream) obj.description = ds_unicode(stream) obj.id = ds_unicode(stream) obj.image_url = ds_unicode(stream) obj.result = ds_unicode(stream) obj.title = ds_unicode(stream) return obj
def _deserialize_member_status(stream, version): r = MemberStatus() r.status = ds_long(stream) r.received_timestamp = ds_long(stream) r.acked_timestamp = ds_long(stream) r.index = ds_long(stream) r.dismissed = ds_bool(stream) r.button_index = ds_long(stream) r.custom_reply = ds_unicode(stream) r.form_result = deserialize_form_result(stream) if version >= 2 else None r.ack_device = ds_unicode(stream) if version >= 3 else None return r
def _setup(self): if self._initialized: return if not self._stream: raise Exception("NewsStatisticPerApp not ready, but setup was called.") self._data = defaultdict(NewsItemStatistics) ds_long(self._stream) # version for _ in xrange(ds_long(self._stream)): app_id = ds_unicode(self._stream) self._data[app_id] = _deserialize_news_item_statistics(self._stream) self._initialized = True
def _deserialize_advanced_order_item(stream): version = ds_long(stream) i = AdvancedOrderItem() i.id = ds_unicode(stream) i.name = ds_unicode(stream) i.description = ds_unicode(stream) i.value = ds_long(stream) i.unit = ds_unicode(stream) i.unit_price = ds_long(stream) i.step = ds_long(stream) i.step_unit = ds_unicode(stream) i.step_unit_conversion = ds_long(stream) i.image_url = ds_unicode(stream) if version >= 2 else None i.has_price = ds_bool(stream) if version >= 3 else True return i
def deserialize_mydigipass_widget_result(stream): version = ds_long(stream) # version result = MyDigiPassWidgetResult() if version == 1 or ds_bool(stream): result.eid_profile = deserialize_mydigipass_eid_profile(stream, version) else: result.eid_profile = None if version > 1 and ds_bool(stream): result.eid_address = deserialize_mydigipass_eid_address(stream, version) else: result.eid_address = None if version > 1: result.eid_photo = ds_unicode(stream) result.email = ds_unicode(stream) result.phone = ds_unicode(stream) else: result.eid_photo = None result.email = None result.phone = None if version > 1 and ds_bool(stream): result.profile = deserialize_mydigipass_profile(stream, version) else: result.profile = None if version > 1 and ds_bool(stream): result.address = deserialize_mydigipass_address(stream, version) else: result.address = None return result
def deserialize_form(stream): version = ds_long(stream) # version f = Form() f.type = ds_unicode(stream) f.widget = WIDGET_MAPPING[f.type].model_deserialize(stream) f.javascript_validation = ds_unicode(stream) if version >= 2 else None return f
def _deserialize_news_item_statistics(stream): ds_long(stream) # version stats = NewsItemStatistics() stats.reached_age = ds_long_list(stream) stats.reached_gender = ds_long_list(stream) stats.reached_time = ds_long_list(stream) stats.rogered_age = ds_long_list(stream) stats.rogered_gender = ds_long_list(stream) stats.rogered_time = ds_long_list(stream) stats.action_age = ds_long_list(stream) stats.action_gender = ds_long_list(stream) stats.action_time = ds_long_list(stream) stats.followed_age = ds_long_list(stream) stats.followed_gender = ds_long_list(stream) stats.followed_time = ds_long_list(stream) return stats
def _ds_street_list(stream): l = list() version = ds_long(stream) f = get_list_deserializer(_ds_street_to, True) for to in f(stream, version): l.append(to) return l
def _deserialize_dict(stream, key_deserializer, value_deserializer): d = dict() size = ds_long(stream) for _ in xrange(size): k = key_deserializer(stream) d[k] = value_deserializer(stream) return d
def deserialize_sign_widget_result(stream): # type: (unicode) -> SignWidgetResult version = ds_long(stream) # version result = SignWidgetResult() result.payload_signature = ds_unicode(stream) result.total_signature = ds_unicode(stream) result.public_key = deserialize_public_key(stream, version) return result
def _deserialize_slider_widget(stream, w, version): w.min = ds_float(stream) w.max = ds_float(stream) w.step = ds_float(stream) w.unit = ds_unicode(stream) if version >= 2: w.precision = ds_long(stream) return w
def _deserialize_friend_detail(stream, version): fd = FriendDetail() fd.email = ds_unicode(stream) fd.name = ds_unicode(stream) fd.avatarId = ds_long(stream) fd.shareLocation = ds_bool(stream) fd.sharesLocation = ds_bool(stream) fd.sharesContacts = ds_bool(stream) if version == 1: from rogerthat.dal.profile import is_service_identity_user is_svc = is_service_identity_user(users.User(fd.email)) fd.type = FriendDetail.TYPE_SERVICE if is_svc else FriendDetail.TYPE_USER else: fd.type = ds_long(stream) fd.hasUserData = False if version < 3 else ds_bool(stream) fd.relationVersion = 0 if version < 4 else ds_long(stream) return fd
def deserialize_photo_upload(stream): version = ds_long(stream) w = PhotoUpload() w.quality = ds_unicode(stream) w.gallery = False if version < 2 else ds_bool(stream) w.camera = False if version < 2 else ds_bool(stream) w.ratio = None if version < 3 else ds_unicode(stream) return w
def _deserialize_news_button(stream, version): b = NewsButton() b.id = ds_unicode(stream) b.caption = ds_unicode(stream) b.action = ds_unicode(stream) b.flow_params = ds_unicode(stream) if version >= 2 else None b.index = ds_long(stream) if version >= 3 else 0 return b
def _deserialize_category(stream, version): c = MenuCategory() c.name = ds_unicode(stream) c.items = _deserialize_item_list(stream, version) c.index = ds_long(stream) c.predescription = ds_unicode(stream) if version > 1 else None c.postdescription = ds_unicode(stream) if version > 1 else None c.id = ds_unicode(stream) if version > 8 else None return c
def _deserialize_public_keys(stream): version = ds_long(stream) if ds_bool(stream): pks = PublicKeys() for pk in _deserialize_public_key_list(stream, version): pks.append(pk) return pks else: return None
def _deserialize_item(stream, version): item = MenuItem() item.name = ds_unicode(stream) item.price = convert_price_to_long( ds_unicode(stream)) if version < 5 else ds_long(stream) item.description = ds_unicode(stream) item.visible_in = ds_long( stream ) if version > 2 else MenuItem.VISIBLE_IN_MENU | MenuItem.VISIBLE_IN_ORDER item.unit = ds_long(stream) if version > 3 else UNIT_PIECE item.step = ds_long(stream) if version > 3 else 1 if version < 6: item.image_id = None else: item.image_id = ds_long(stream) if item.image_id == -1: item.image_id = None item.qr_url = None if version < 7 else ds_unicode(stream) item.has_price = item.price > 0 if version < 8 else ds_bool(stream) item.id = ds_unicode(stream) if version > 8 else None return item
def deserialize_solution_user(stream): version = ds_long(stream) # version if version > 2: if not ds_bool(stream): return None u = SolutionUser() u.name = ds_unicode(stream) u.email = ds_unicode(stream) u.avatar_url = ds_unicode(stream) u.language = ds_unicode(stream) if version > 1: u.app_id = ds_unicode(stream) else: u.app_id = App.APP_ID_ROGERTHAT return u
def _deserialize_shift(stream, version): s = Shift() s.name = ds_unicode(stream) s.start = ds_long(stream) s.end = ds_long(stream) s.leap_time = ds_long(stream) s.capacity = ds_long(stream) s.threshold = ds_long(stream) s.max_group_size = ds_long(stream) s.days = ds_long_list(stream) return s
def _deserialize_prospect_comments(stream): version = ds_long(stream) prospect_comments = ProspectComments() for comment in _deserialize_prospect_comment_list(stream, version): prospect_comments.add(comment) return prospect_comments
def _deserialize_shifts(stream): version = ds_long(stream) shifts = Shifts() for s in _deserialize_shift_list(stream, version): shifts.add(s) return shifts
def _deserialize_categories(stream): version = ds_long(stream) categories = MenuCategories() for c in _deserialize_category_list(stream, version): categories.add(c) return categories
def _ds_activity_to(stream, version): to = ActivityTO() to.number = ds_long(stream) to.name = ds_unicode(stream) return to
def _ds_house_to(stream, version): to = HouseTO() to.number = ds_long(stream) to.bus = ds_unicode(stream) return to
def _ds_street_to(stream, version): to = StreetTO() to.number = ds_long(stream) to.name = ds_unicode(stream) return to