def _create_sessionid(self): rand = os.urandom(16) now = time.time() secret_key = self.config.secret_key session_id = sha1("%s%s%s%s" % (rand, now, safestr(self.remote_ip), secret_key)) session_id = session_id.hexdigest() return str(session_id).upper() + '|' + self.config.session_version
def query(self, paramstyle=None): """ Returns the query part of the sql query. >>> q = SQLQuery(["SELECT * FROM test WHERE name=", SQLParam('joe')]) >>> q.query() 'SELECT * FROM test WHERE name=%s' >>> q.query(paramstyle='qmark') 'SELECT * FROM test WHERE name=?' """ s = [] for x in self.items: if isinstance(x, SQLParam): x = x.get_marker(paramstyle) s.append(safestr(x)) else: x = safestr(x) # automatically escape % characters in the query # For backward compatability, ignore escaping when the query looks already escaped if paramstyle in ['format', 'pyformat']: if '%' in x and '%%' not in x: x = x.replace('%', '%%') s.append(x) return "".join(s)
def get_many(self, keys, version=None): """ Retrieve many keys. """ if not keys: return {} recovered_data = SortedDict() new_keys = list(map(lambda key: self.make_key(key, version=version), keys)) map_keys = dict(zip(new_keys, keys)) results = self._client.mget(new_keys) for key, value in zip(new_keys, results): if value is None: continue value = self.unpickle(value) if isinstance(value, bytes_type): value = safestr(value) recovered_data[map_keys[key]] = value return recovered_data
def make_key(self, key, version=None): # Python 2 memcache requires the key to be a byte string. return safestr(super(BaseMemcachedCache, self).make_key(key, version))
def __str__(self): return safestr(self._str())
def __str__(self): return safestr(self._key)