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
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
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
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