Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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