def METHOD_NAME(prop_fmt):
    def expand(self, prop, value):
        tokens = value.split()
        try:
            mapping = self.SIDE_SHORTHANDS[len(tokens)]
        except KeyError:
            warnings.warn('Could not expand "{prop}: {val}"'
                          .format(prop=prop, val=value), CSSWarning)
            return
        for key, idx in zip(self.SIDES, mapping):
            yield prop_fmt.format(key), tokens[idx]
    return expand