예제 #1
0
    def create_token(self, session_id, session_key, end_date=None, token_expire_seconds=None):
        session_key_256 = make_sha256(session_key)

        # Delete all active tokens
        self.delete_session_key_tokens(session_key_256)

        token = '%s-%s' % (session_id, make_unique_hash(length=70))
        token_256 = make_sha256(token)

        data = {
            'lock_key': make_token_lock(self.request, token, session_id),
            'session_id': session_id,
            'session_key': session_key_256}

        if end_date:
            data['end_date'] = date_to_timestamp(end_date)
        if token_expire_seconds:
            data['token_expire_seconds'] = int(token_expire_seconds)

        info = compact_dump(data)

        # Save token
        file_path = self.get_token_file_path(token_256)
        put_binary_on_file(file_path, info)

        # Save reference
        reference_path = self.get_reference_file_path(session_key_256)
        put_binary_on_file(reference_path, token_256 + NEW_LINE, mode='ab')

        return token
예제 #2
0
def datetinput_serialize(self, field, cstruct, **kw):
    if cstruct in (null, None):
        cstruct = ''
    readonly = kw.get('readonly', self.readonly)
    template = readonly and self.readonly_template or self.template
    options = dict(kw.get('options') or self.options or self.default_options)
    options['submitFormat'] = 'yyyy-mm-dd'

    if callable(options.get('max')):
        options['max'] = options['max']()

    kw.setdefault('options_json', compact_dump(options))
    values = self.get_template_values(field, cstruct, kw)
    return field.renderer(template, **values)
예제 #3
0
def dump_query_value(value):
    if isinstance(value, str):
        return value
    else:
        return compact_dump(value)
예제 #4
0
def dump_query_value(value):
    if isinstance(value, string_types):
        return to_string(value)
    else:
        return to_string(compact_dump(value))
예제 #5
0
def format_error_to_json(error, kwargs=None, request=None):
    return compact_dump(format_error_to_json_values(error, kwargs, request=request))