Exemple #1
0
def _flatten_value(value):
    if isinstance(value, Mapping):
        raise ValueError('A dictionary found when converting to string')
    elif isinstance(value, (list, tuple)):
        return ', '.join(str(_flatten_value(v)) for v in value)
    elif isinstance(value, date):
        return iso8601(value)
    elif isinstance(value, URLWrapper):
        return str(value)
    else:
        return value
Exemple #2
0
 def login(self, request, **data):
     api = request.api
     seconds = request.config['SESSION_EXPIRY']
     data['user_agent'] = self._user_agent(request)
     data['ip_address'] = request.get_client_address()
     data['expiry'] = iso8601(date_from_now(seconds))
     response = api.authorizations.post(json=data, jwt=True)
     token = response.json()
     session = self._create_session(request, token)
     request.cache.session = session
     return token
Exemple #3
0
 def login(self, request, **data):
     api = request.api
     seconds = request.config['SESSION_EXPIRY']
     data['user_agent'] = self._user_agent(request)
     data['ip_address'] = request.get_client_address()
     data['expiry'] = iso8601(date_from_now(seconds))
     response = api.authorizations.post(json=data, jwt=True)
     token = response.json()
     session = self._create_session(request, token)
     request.cache.session = session
     return token
Exemple #4
0
def _flatten_value(value):
    if isinstance(value, Mapping):
        raise ValueError('A dictionary found when converting to string')
    elif isinstance(value, (list, tuple)):
        return ', '.join(str(_flatten_value(v)) for v in value)
    elif isinstance(value, date):
        return iso8601(value)
    elif isinstance(value, URLWrapper):
        return str(value)
    else:
        return value
Exemple #5
0
def render_data(app, value, render, context):
    if isinstance(value, Mapping):
        return dict(((k, render_data(app, v, render, context))
                     for k, v in value.items()))
    elif isinstance(value, (list, tuple)):
        return [render_data(app, v, render, context) for v in value]
    elif isinstance(value, date):
        return iso8601(value)
    elif isinstance(value, URLWrapper):
        return value.to_json(app)
    elif isinstance(value, str):
        return render(value, context)
    else:
        return value
Exemple #6
0
def render_data(app, value, render, context):
    if isinstance(value, Mapping):
        return dict(((k, render_data(app, v, render, context))
                     for k, v in value.items()))
    elif isinstance(value, (list, tuple)):
        return [render_data(app, v, render, context) for v in value]
    elif isinstance(value, date):
        return iso8601(value)
    elif isinstance(value, URLWrapper):
        return value.to_json(app)
    elif isinstance(value, str):
        return render(value, context)
    else:
        return value
Exemple #7
0
def render_data(app, value, render, context):
    """Safely render a data structure
    """
    if isinstance(value, Mapping):
        return dict(_render_dict(app, value, render, context))
    elif isinstance(value, (list, tuple)):
        return [render_data(app, v, render, context) for v in value]
    elif isinstance(value, date):
        return iso8601(value)
    elif hasattr(value, '__call__'):
        try:
            return value(app)
        except Exception:
            return SKIP
    elif isinstance(value, str):
        return render(value, context)
    elif value is None or isinstance(value, numbers):
        return value
    else:
        return SKIP
Exemple #8
0
def render_data(app, value, render, context):
    """Safely render a data structure
    """
    if isinstance(value, Mapping):
        return dict(_render_dict(app, value, render, context))
    elif isinstance(value, (list, tuple)):
        return [render_data(app, v, render, context) for v in value]
    elif isinstance(value, date):
        return iso8601(value)
    elif hasattr(value, '__call__'):
        try:
            return value(app)
        except Exception:
            return SKIP
    elif isinstance(value, str):
        return render(value, context)
    elif value is None or isinstance(value, numbers):
        return value
    else:
        return SKIP