Esempio n. 1
0
 def get(self): 
     util = helpers.Util()
     user_model = util.is_user_good()
 
     #if not user_model == None:
     _template_values = {}
      
     posts_results_cache_key = cache_keys.POSTS_DEMO
     cache_results = memcache.get(posts_results_cache_key)
     
     if not cache_results == None:
         logging.info("cached search results being returned for key: %s" % posts_results_cache_key)
         _template_values["r"] = cache_results
     else:
         logging.info("search results not found for cache key %s" % posts_results_cache_key)
         queries = helpers.Queries()
         q = queries.get_posts_demo()
         results = q.fetch(10, config=queries.get_db_run_config_eventual() )
         
         _template_values["r"] = results
         memcache.add(posts_results_cache_key, _template_values["r"], 3600)
     
     _path = os.path.join(os.path.dirname(__file__), 'posts_demo.html') 
     
     self.response.headers["Expires"] = util.get_expiration_stamp(3600)
     self.response.headers["Content-Type"] = "application/json"
     self.response.headers["Cache-Control: max-age"] = 3600
     self.response.headers["Cache-Control"] = "public"
     self.response.out.write(template.render(_path, _template_values))
Esempio n. 2
0
 def post(self):
     util = helpers.Util()
     user_model = util.is_user_good()
     
     self.response.headers["Content-Type"] = "application/json"
     
     if not user_model == None:
         text_to_save =self.request.get("text",  default_value=None)
         resubmit_post = self.request.get("resubmit",default_value="true")   
         resubmit_bool = resubmit_post.lower() in ("yes", "true", "t", "1")
         
         if not text_to_save == None and len(text_to_save) > 0 and len(text_to_save) < 140:
             day_created = util.get_todays_start()
             
             text_to_save = re.sub("\s+"," ",text_to_save)
             
             social_post = model.SocialPostsForUsers(social_user=user_model,text=text_to_save,day_created=day_created,resubmit=resubmit_bool)
             
             try:
                 social_post.put()
                 
                 self.response.out.write(json.dumps( { "success" : True, "id" : "%s" % social_post.key() }) )
             except CapabilityDisabledError:
                 fail = FailureJson(FAILURE_CAPABILITY_DISABLED_CODE,FAILURE_CAPABILITY_DISABLED_TEXT)
                 self.response.out.write( fail.get_json() )
         else:
             fail = FailureJson(FAILURE_NO_TEXT_TO_SAVE_CODE,FAILURE_NO_TEXT_TO_SAVE_TEXT)
             self.response.out.write( fail.get_json() )
         
     else:
         fail = FailureJson(FAILURE_NO_USER_CODE,FAILURE_NO_USER_TEXT)
         self.response.out.write( fail.get_json() )
Esempio n. 3
0
    def get(self):
        util = helpers.Util()
        user_model = util.is_user_good()

        #if not user_model == None:
        _template_values = {}

        posts_results_cache_key = cache_keys.POSTS_DEMO
        cache_results = memcache.get(posts_results_cache_key)

        if not cache_results == None:
            logging.info("cached search results being returned for key: %s" %
                         posts_results_cache_key)
            _template_values["r"] = cache_results
        else:
            logging.info("search results not found for cache key %s" %
                         posts_results_cache_key)
            queries = helpers.Queries()
            q = queries.get_posts_demo()
            results = q.fetch(10, config=queries.get_db_run_config_eventual())

            _template_values["r"] = results
            memcache.add(posts_results_cache_key, _template_values["r"], 3600)

        _path = os.path.join(os.path.dirname(__file__), 'posts_demo.html')

        self.response.headers["Expires"] = util.get_expiration_stamp(3600)
        self.response.headers["Content-Type"] = "application/json"
        self.response.headers["Cache-Control: max-age"] = 3600
        self.response.headers["Cache-Control"] = "public"
        self.response.out.write(template.render(_path, _template_values))
Esempio n. 4
0
    def post(self):
        util = helpers.Util()
        user_model = util.is_user_good()

        self.response.headers["Content-Type"] = "application/json"

        if not user_model == None:
            text_to_save = self.request.get("text", default_value=None)
            resubmit_post = self.request.get("resubmit", default_value="true")
            resubmit_bool = resubmit_post.lower() in ("yes", "true", "t", "1")

            if not text_to_save == None and len(text_to_save) > 0 and len(
                    text_to_save) < 140:
                day_created = util.get_todays_start()

                text_to_save = re.sub("\s+", " ", text_to_save)

                social_post = model.SocialPostsForUsers(
                    social_user=user_model,
                    text=text_to_save,
                    day_created=day_created,
                    resubmit=resubmit_bool)

                try:
                    social_post.put()

                    self.response.out.write(
                        json.dumps({
                            "success": True,
                            "id": "%s" % social_post.key()
                        }))
                except CapabilityDisabledError:
                    fail = FailureJson(FAILURE_CAPABILITY_DISABLED_CODE,
                                       FAILURE_CAPABILITY_DISABLED_TEXT)
                    self.response.out.write(fail.get_json())
            else:
                fail = FailureJson(FAILURE_NO_TEXT_TO_SAVE_CODE,
                                   FAILURE_NO_TEXT_TO_SAVE_TEXT)
                self.response.out.write(fail.get_json())

        else:
            fail = FailureJson(FAILURE_NO_USER_CODE, FAILURE_NO_USER_TEXT)
            self.response.out.write(fail.get_json())
Esempio n. 5
0
    def get(self): 
    
        util = helpers.Util()
        user_model = util.is_user_good()
    
        if not user_model == None:
            
            _template_values = {}
            
            get_which = self.request.get("which")
            get_since = self.request.get("since")
            
            if get_since == "" or get_since == "undefined": get_since = None
            
            day_start = util.get_todays_start()
            day_stop = util.get_todays_stop()

            _template_values["day_start"] = day_start
            _template_values["day_stop"] = day_stop
            
            posts_results_cache_key = cache_keys.POST_RESULTS % (get_which,get_since,day_start.date())
            
            logging.info("post results cache key is: %s" % posts_results_cache_key)
            cache_results = memcache.get(posts_results_cache_key)
            
            if not cache_results == None:
                logging.info("cached search results being returned for key: %s" % posts_results_cache_key)
                _template_values["c"] = get_since
                _template_values["r"] = cache_results
                
            else:
                logging.info("search results not found for cache key %s" % posts_results_cache_key)
                
                queries = helpers.Queries()
                
                if get_which == "yours-pending": 
                    
                    q = queries.get_posts_yours_pending(user_model,get_since,day_start)
                    results = q.fetch(100, config= queries.get_db_run_config_eventual() )
                    cursor = q.cursor()
                    
                    if get_since == None: 
                        q2 = queries.get_posts_yours_resubmitted(user_model,day_start)
                        results2 = q2.fetch(100, config= queries.get_db_run_config_eventual())
                        logging.info("yours resubmitted: %s" % len(results2) )
                        results.extend(results2 )
                    
                    _template_values["c"] = cursor
                    _template_values["r"] = results
                    
                elif get_which == "theirs-pending":
                    q = queries.get_posts_theirs_pending(get_since,day_start)
                    results = q.fetch(100, config= queries.get_db_run_config_eventual())
                    cursor = q.cursor()
                    
                    if get_since == None: 
                        q2 = queries.get_posts_theirs_resubmitted(user_model,day_start)
                        results2 = q2.fetch(100, config= queries.get_db_run_config_eventual())
                        logging.info("theirs resubmitted: %s" % len(results2) )
                        results.extend( results2 )
                    
                    _template_values["c"] = cursor
                    _template_values["r"] = results
                    
                else:
                    logging.warning("unknown which was passed: %" % get_which)
                    _template_values["c"] = None
                    _template_values["r"] = None
                    
            if not _template_values["r"] == None:
                memcache.add(posts_results_cache_key, _template_values["r"], 60)

            _path = os.path.join(os.path.dirname(__file__), 'posts.html') 
            
            self.response.headers["Expires"] = util.get_expiration_stamp(60)
            self.response.headers["Content-Type"] = "application/json"
            self.response.headers["Cache-Control: max-age"] = 60
            self.response.headers["Cache-Control"] = "public"
            self.response.out.write(template.render(_path, _template_values))
            
        else:
            fail = FailureJson(FAILURE_NO_USER_CODE,FAILURE_NO_USER_TEXT)
            self.response.out.write( fail.get_json() )
Esempio n. 6
0
    def get(self):

        util = helpers.Util()
        user_model = util.is_user_good()

        if not user_model == None:

            _template_values = {}

            get_which = self.request.get("which")
            get_since = self.request.get("since")

            if get_since == "" or get_since == "undefined": get_since = None

            day_start = util.get_todays_start()
            day_stop = util.get_todays_stop()

            _template_values["day_start"] = day_start
            _template_values["day_stop"] = day_stop

            posts_results_cache_key = cache_keys.POST_RESULTS % (
                get_which, get_since, day_start.date())

            logging.info("post results cache key is: %s" %
                         posts_results_cache_key)
            cache_results = memcache.get(posts_results_cache_key)

            if not cache_results == None:
                logging.info(
                    "cached search results being returned for key: %s" %
                    posts_results_cache_key)
                _template_values["c"] = get_since
                _template_values["r"] = cache_results

            else:
                logging.info("search results not found for cache key %s" %
                             posts_results_cache_key)

                queries = helpers.Queries()

                if get_which == "yours-pending":

                    q = queries.get_posts_yours_pending(
                        user_model, get_since, day_start)
                    results = q.fetch(
                        100, config=queries.get_db_run_config_eventual())
                    cursor = q.cursor()

                    if get_since == None:
                        q2 = queries.get_posts_yours_resubmitted(
                            user_model, day_start)
                        results2 = q2.fetch(
                            100, config=queries.get_db_run_config_eventual())
                        logging.info("yours resubmitted: %s" % len(results2))
                        results.extend(results2)

                    _template_values["c"] = cursor
                    _template_values["r"] = results

                elif get_which == "theirs-pending":
                    q = queries.get_posts_theirs_pending(get_since, day_start)
                    results = q.fetch(
                        100, config=queries.get_db_run_config_eventual())
                    cursor = q.cursor()

                    if get_since == None:
                        q2 = queries.get_posts_theirs_resubmitted(
                            user_model, day_start)
                        results2 = q2.fetch(
                            100, config=queries.get_db_run_config_eventual())
                        logging.info("theirs resubmitted: %s" % len(results2))
                        results.extend(results2)

                    _template_values["c"] = cursor
                    _template_values["r"] = results

                else:
                    logging.warning("unknown which was passed: %" % get_which)
                    _template_values["c"] = None
                    _template_values["r"] = None

            if not _template_values["r"] == None:
                memcache.add(posts_results_cache_key, _template_values["r"],
                             60)

            _path = os.path.join(os.path.dirname(__file__), 'posts.html')

            self.response.headers["Expires"] = util.get_expiration_stamp(60)
            self.response.headers["Content-Type"] = "application/json"
            self.response.headers["Cache-Control: max-age"] = 60
            self.response.headers["Cache-Control"] = "public"
            self.response.out.write(template.render(_path, _template_values))

        else:
            fail = FailureJson(FAILURE_NO_USER_CODE, FAILURE_NO_USER_TEXT)
            self.response.out.write(fail.get_json())