def deserialize_public_key(stream, version):
    pk = PublicKeyTO()
    pk.algorithm = ds_unicode(stream)
    pk.name = ds_unicode(stream)
    pk.index = ds_unicode(stream)
    pk.public_key = ds_unicode(stream)
    return pk
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_news_button(stream, version):
    b = NewsActionButtonTO()
    b.id = ds_unicode(stream)
    b.caption = ds_unicode(stream)
    b.action = ds_unicode(stream)
    b.flow_params = ds_unicode(stream) if version > 1 else None
    return b
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_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_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_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_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_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_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_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_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_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_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_js_flow_definition(stream, version):
    jfd = JsFlowDefinition()
    jfd.language = ds_unicode(stream)
    jfd.hash_ = ds_unicode(stream)
    jfd.definition = ds_unicode(stream)
    jfd.brandings = ds_unicode_list(stream) if version >= 4 else list()
    jfd.attachments = ds_unicode_list(stream) if version >= 5 else list()
    return jfd
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_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
Exemple #18
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
def deserialize_sign(stream):
    version = ds_long(stream)  # version
    w = Sign()
    w.payload = ds_unicode(stream)
    w.caption = ds_unicode(stream) if version >= 3 else None
    w.algorithm = ds_unicode(stream) if version >= 4 else None
    w.key_name = ds_unicode(stream) if version >= 4 else None
    w.index = ds_unicode(stream) if version >= 4 else None
    return w
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_mobile_detail(stream, version):
    from rogerthat.models import App
    md = MobileDetail()
    md.account = ds_unicode(stream)
    md.type_ = ds_long(stream)
    md.pushId = ds_unicode(stream)
    if version < 2:
        md.app_id = App.APP_ID_ROGERTHAT
    else:
        md.app_id = ds_unicode(stream)
    return md
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 deserialize_pay(stream):
    version = ds_long(stream)
    w = Pay()
    w.methods = _deserialize_payment_method_list(stream)
    w.memo = ds_unicode(stream)
    w.target = ds_unicode(stream)
    w.auto_submit = ds_bool(stream)
    w.test_mode = ds_bool(stream)
    if version > 1:
        w.embedded_app_id = ds_unicode(stream)
    else:
        w.embedded_app_id = None
    return w
def deserialize_date_select(stream):
    ds_long(stream)  # version
    w = DateSelect()
    w.has_date = ds_bool(stream)
    w.has_max_date = ds_bool(stream)
    w.has_min_date = ds_bool(stream)
    w.date = ds_long(stream)
    w.max_date = ds_long(stream)
    w.min_date = ds_long(stream)
    w.minute_interval = ds_long(stream)
    w.mode = ds_unicode(stream)
    w.unit = ds_unicode(stream)
    return w
Exemple #25
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
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_auto_connected_service(stream, version):
    a = AutoConnectedService()
    a.service_identity_email = ds_unicode(stream)
    a.removable = ds_bool(stream)
    a.local = ds_unicode_list(stream)
    a.service_roles = [] if version < 2 else ds_long_list(stream)
    return a
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_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_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_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_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
Exemple #33
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
Exemple #34
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
    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
Exemple #36
0
def _ds_activity_to(stream, version):
    to = ActivityTO()
    to.number = ds_long(stream)
    to.name = ds_unicode(stream)
    return to
Exemple #37
0
def _ds_street_to(stream, version):
    to = StreetTO()
    to.number = ds_long(stream)
    to.name = ds_unicode(stream)
    return to
Exemple #38
0
def _ds_house_to(stream, version):
    to = HouseTO()
    to.number = ds_long(stream)
    to.bus = ds_unicode(stream)
    return to