Ejemplo n.º 1
0
    def parse_cookies(self, req, name, field):
        """Pull a value from the header data."""
        cookie = req.cookies.get(name)

        if cookie is not None:
            return [cookie.value] if core.is_multiple(field) else cookie.value
        else:
            return [] if core.is_multiple(field) else None
Ejemplo n.º 2
0
    def parse_cookies(self, req, name, field):
        """Pull a value from the header data."""
        cookie = req.cookies.get(name)

        if cookie is not None:
            return [cookie.value] if core.is_multiple(field) else cookie.value
        else:
            return [] if core.is_multiple(field) else None
Ejemplo n.º 3
0
 def _collect_multiple_keys(schema):
     result = set()
     for name, field in schema.fields.items():
         if not is_multiple(field):
             continue
         result.add(field.data_key if field.data_key is not None else name)
     return result
Ejemplo n.º 4
0
 def _collect_multiple_keys(schema):
     result = set()
     for name, field in schema.fields.items():
         if not is_multiple(field):
             continue
         if MARSHMALLOW_VERSION_INFO[0] < 3:
             result.add(field.load_from if field.load_from is not None else name)
         else:
             result.add(field.data_key if field.data_key is not None else name)
     return result
Ejemplo n.º 5
0
def get_value(d, name, field):
    """Handle gets from 'multidicts' made of lists

    It handles cases: ``{"key": [value]}`` and ``{"key": value}``
    """
    multiple = core.is_multiple(field)
    value = d.get(name, core.missing)
    if value is core.missing:
        return core.missing
    if multiple and value is not core.missing:
        return [decode_argument(v, name) if isinstance(v, basestring) else v
                for v in value]
    ret = value
    if value and isinstance(value, (list, tuple)):
        ret = value[0]
    if isinstance(ret, basestring):
        return decode_argument(ret, name)
    else:
        return ret
Ejemplo n.º 6
0
def get_value(d, name, field):
    """Handle gets from 'multidicts' made of lists

    It handles cases: ``{"key": [value]}`` and ``{"key": value}``
    """
    multiple = core.is_multiple(field)
    value = d.get(name, core.missing)
    if value is core.missing:
        return core.missing
    if multiple and value is not core.missing:
        return [decode_argument(v, name) if isinstance(v, basestring) else v
                for v in value]
    ret = value
    if value and isinstance(value, (list, tuple)):
        ret = value[0]
    if isinstance(ret, basestring):
        return decode_argument(ret, name)
    else:
        return ret