def cs(self): if self._cs: return self._cs if self.csid: csid = self.csid else: csName = self.request.REQUEST.get('cs') if csName: self.csid = csid = csName else: return False cs = memcache.get(csid.encode('utf8')) if cs is None: cs = ColorScheme.get_by_key_name(csid) if cs: cs.alphas = '\x00' if not memcache.add(csid.encode('utf8'), cs): logger.error("Memcache set failed [ %s ]"%csid) self._cs = cs #logger.info(self._cs) if cs is not None: if cs.public or cs.owner == self.request.user.username: self._cs = cs return self._cs return False
def cs(self): """ Search for the Color Scheme Name in the Request and try and load it from Memcache or DataStore, return True or False """ if self._cs: return self._cs colorSchemeName = self.request.REQUEST.get('cs','DEFAULT') self.csid = csid = "cs:"+colorSchemeName cs = memcache.get(csid) if cs is not None: self._cs = cs else: if csid: cs = ColorScheme.get_by_key_name(csid) if cs: #logging.info('found colorScheme(%s)'%csid) #CHECK URL FOR BANGGROUND OPTIONS... background = self.request.REQUEST.get('transparentBackground') if background == 'OFF': cs.alphas = '' self._cs = cs if self.cl: if cs and cs.n==self.cl.n: pass else: N = min(self.cl.n-2,MAX_N) if csid[:9] == 'cs:random': rid = 'ts:%s&cl:%s&cs:%s'%(self.request.REQUEST.get('ts'),self.request.REQUEST.get('cl'),self.request.REQUEST.get('cs')) cs = memcache.get(rid) if not cs: cs = colors.random(N,borders=(60,60,60)) memcache.add(rid, cs) self._cs = cs return cs else: if self.cl.n == 3: cs = colors.ColorScheme([(0,0,1),(0,0,0)]+[(255,90,0)]*N) else: cs = colors.fade(self.cl.n-2) self._cs = cs if cs is not None: return cs else: return False