Beispiel #1
0
    def _put(self, keyname, value):
        """
        Insert a keyname/value pair into the datastore for the session.

        Args:
            keyname: The keyname of the mapping.
            value: The value of the mapping.
        """
        keyname = self._validate_key(keyname)

        if value is None:
            raise ValueError("You must pass a value to put.")
        sessdata = self._get(keyname=keyname)
        if sessdata is None:
            sessdata = UserSessionData()
            sessdata.session = self.session
            sessdata.keyname = keyname
        sessdata.content = pickle.dumps(value)
        self.cache[keyname] = pickle.dumps(value)
        sessdata.put()
        self._set_memcache()