def save_from_jsobj(self, jsobj):
        """Read data from the given JSON object and save it to attributes."""
        keys = set()
        try:
            meta_dict = jsobj['_meta']
        except KeyError:
            # The metadata dict is optional.
            pass
        else:
            keys |= set(meta_dict.keys())
            self._attrs_from_jsdict(self.meta_attrs, meta_dict)
        keys |= set(jsobj.keys())
        keys -= set(('_meta', ))
        extra_keys = keys - set((attr.name for attr in self.attrs()))
        if extra_keys:
            log.warning((list(extra_keys), jsobj) % "JSON object has unrecognized keys: %r (%r)")
        self._attrs_from_jsdict(self.data_attrs, jsobj)
dataset/ETHPy150Open cjerdonek/open-rcv/openrcv/jsonlib.py/JsonableMixin.save_from_jsobj/swapped operands of `%`