Ejemplo n.º 1
0
 def get_additional_context_on_update(self, request, form):
     memcache.delete(CACHE_NAME_FOR_TOP_PAGE_RESULTS)
     image_list = construct_image_json_from_content(request.form['content'])
     logging.info(request.path)
     entity_key = re.compile(ur'^.+update\/').sub('',request.path)
     logging.info(entity_key)
     deferred.defer(index_full_text_search,entity_key)
     return {'images':image_list,'lang':DEFAULT_LANG}
Ejemplo n.º 2
0
 def get_additional_context_on_update(self, request, form):
     memcache.flush_all()
     logging.info(request.form['content'])
     image_list = construct_image_json_from_content(request.form['content'])
     tag_list = request.form['tags_string'].split(',')
     display_time = construct_datetime_from_string(request.form['display_time'])
     entity_key = re.compile(ur'^.+update\/').sub('',request.path)
     deferred.defer(index_full_text_search,entity_key)
     return {'images':image_list,'lang':DEFAULT_LANG,'tags':tag_list,'display_time':display_time}
Ejemplo n.º 3
0
 def get_additional_context_on_create(self, request, form):
     key_name = None
     url = None
     try:
         url = request.form['url']
     except:
         pass
     if url:
         key_name = url
     else:
         key_name = urllib.quote(request.form['title'])
     image_list = construct_image_json_from_content(request.form['content'])
     memcache.delete(CACHE_NAME_FOR_TOP_PAGE_RESULTS)
     deferred.defer(index_full_text_search_by_key_name,'AdminPage',key_name)
     return {'key_name':key_name,'images':image_list,'lang':DEFAULT_LANG}
Ejemplo n.º 4
0
 def get_additional_context_on_create(self, request, form):
     memcache.flush_all()
     key_name = None
     url = None
     try:
         url = request.form['url']
     except:
         pass
     image_list = construct_image_json_from_content(request.form['content'])
     tag_list = request.form['tags_string'].split(',')
     display_time = construct_datetime_from_string(request.form['display_time'])
     if url:
         key_name = url
     else:
         random_string = str(random.getrandbits(32))
         key_name = display_time.strftime('%Y%m%d')+random_string 
     deferred.defer(index_full_text_search_by_key_name,'Article',key_name)
     return {'key_name':key_name,'images':image_list,'lang':DEFAULT_LANG,'tags':tag_list,'display_time':display_time}
Ejemplo n.º 5
0
def add_translation(request,parent_key):
    if request.method != 'POST':
        return Response('POST method is required')
    parent_entity = db.get(parent_key)
    if parent_entity is None:
        return Response('Default lang entity is not found')
    model_name = parent_entity.kind()
    try:
        title = request.form['title']
    except:
        return Response('Title is required')
    trans_key_name = parent_entity.key().name()+'_'+request.form['lang']
    trans_entity = MODEL_DICT[model_name](parent=parent_entity,key_name=trans_key_name,title=title)
    for k in request.form:
        if k in ['title','url']:
            continue
        logging.info(k)
        logging.info(request.form[k])
        try:
            setattr(trans_entity,k,request.form[k])
        except:
            if request.form[k] == 'on' or request.form[k] == 'true':
                setattr(trans_entity,k,True)
            else:
                setattr(trans_entity,k,False)
        #custom process for tags_string
        #if k == 'tags_string':
        #    #logging.info(request.form[k].split(','))
        #    setattr(trans_entity,'tags',request.form[k].split(','))
        if k == 'content':
            #logging.info(request.form[k].split(','))
            images = construct_image_json_from_content(request.form[k])
            setattr(trans_entity,'images',images)
    trans_entity.put()
    children = MODEL_DICT[model_name].all().ancestor(parent_entity).fetch(1000)
    for child in children:
        if child.lang == request.form['lang']:
            deferred.defer(index_full_text_search,child.key())
    return Response('Success:add transltion')