Example #1
0
 def post(self,csid=''):
     bgcolor = '#000001'
     brcolor = '#000000'
     if self.request.user.is_authenticated():
         user = self.request.user
         logger.info("%s, is creating a new ColorScheme."%(user.username))
         POST = self.request.POST
         if 'colors' in POST:
             if 'background' in POST:
                 bgcolor = POST['background']
             if 'borders' in POST:
                 brcolor = POST['borders']
             colors = [bgcolor,brcolor]+POST['colors'].encode('utf8').split(',')
             color_list = []
             for color in colors:
                 if color[0] == '#':
                     color = color[1:]
                 r,g,b = [color[x:x+2] for x in range(0,6,2)]
                 col = ''.join(map(chr,[int(r,16),int(g,16),int(b,16)]))
                 color_list.append(col)
             cs = ColorScheme("%s:%s"%(user.username,hashlib.md5(''.join(color_list)).hexdigest()))
             cs.n = len(color_list)
             cs.colors = color_list
             if 'alphas' in POST:
                 logger.warn("User: %s, tried to post a color scheme with Alphas, not supported yet"%user.username)
             cs.owner = user.username
             cs.public = True
             cs.expires = False
             cs.date = time.mktime(time.gmtime())
             return self.write({"ColorSchemeID":cs.put()})
Example #2
0
 def real_post(self):
     colors = self.request.REQUEST.get('colors')
     name = self.request.REQUEST.get('name')
     if colors and name:
         colors = colors.encode('utf8')
         color_list = []
         for color in colors.split(','):
             if color[0] == '#':
                 color = color [1:]
             r,g,b = [color[x:x+2] for x in range(0,6,2)]
             col = ''.join(map(chr,[int(r,16),int(g,16),int(b,16)]))
             color_list.append(db.ByteString(col))
         c = ColorScheme(key_name='cs:%s'%name)
         c.name = name
         c.n = len(color_list)
         c.colors = color_list
         alphas = self.request.REQUEST.get('alphas')
         if alphas:
             if alphas == "0,255,":
                 pass
             else:
                 values = map(int,alphas.split(','))
                 c.alphas = ''.join(map(chr,values))
         try:
             key = c.put()
         except CapabilityDisabledError:
             logging.error("Capability has been disabled")
             self.dir(500)
         self.write(key)
     else:
         self.write("bad request")