Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
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))
Пример #9
0
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
Пример #11
0
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
Пример #12
0
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
Пример #13
0
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
Пример #14
0
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
Пример #15
0
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
Пример #16
0
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
Пример #17
0
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
Пример #18
0
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
Пример #19
0
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
Пример #21
0
    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
Пример #22
0
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
Пример #23
0
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
Пример #24
0
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
Пример #25
0
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
Пример #26
0
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
Пример #27
0
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
Пример #28
0
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
Пример #29
0
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
Пример #30
0
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
Пример #31
0
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
Пример #32
0
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
Пример #33
0
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
Пример #34
0
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
Пример #35
0
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
Пример #36
0
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
Пример #37
0
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
Пример #38
0
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
Пример #39
0
def _deserialize_shifts(stream):
    version = ds_long(stream)
    shifts = Shifts()
    for s in _deserialize_shift_list(stream, version):
        shifts.add(s)
    return shifts
Пример #40
0
def _deserialize_categories(stream):
    version = ds_long(stream)
    categories = MenuCategories()
    for c in _deserialize_category_list(stream, version):
        categories.add(c)
    return categories
Пример #41
0
def _ds_activity_to(stream, version):
    to = ActivityTO()
    to.number = ds_long(stream)
    to.name = ds_unicode(stream)
    return to
Пример #42
0
def _ds_house_to(stream, version):
    to = HouseTO()
    to.number = ds_long(stream)
    to.bus = ds_unicode(stream)
    return to
Пример #43
0
def _ds_street_to(stream, version):
    to = StreetTO()
    to.number = ds_long(stream)
    to.name = ds_unicode(stream)
    return to