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()})
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")