Пример #1
0
 def split_keys(self, arr, size):
    arrs = []
    num = 0
    while len(arr) > size:
        pice = arr[:size]
        
        num += 1
        id = 'page'+str(num)
        logger.info("Search Key Id: %s " % id)
        logger.debug("Search Keys: " + str(pice))
        
        prev_data = self.get_search_page(id)
        logger.debug('mc_prev_data: ' + str(prev_data))
        
        del_data = mc_delete(cache_keys.get_search_page_cache_key(id))
        logger.debug('mc_del_data: ' + str(del_data))
        
        final_data = mc_wrap(cache_keys.get_search_page_cache_key(id), ENTITY_CACHE_EXPIRATION,
                     lambda x: pice)
        logger.debug('mc_final_data: ' + str(final_data))
        
        arrs.append(pice)
        arr   = arr[size:]
    arrs.append(arr)
    return arrs
Пример #2
0
 def get_upcoming(self,
                  city_name=None,
                  sport=None,
                  locality_name=None,
                  no_records=8):
     return mc_wrap(
         cache_keys.get_upcoming_event_cache_key(city_name, sport),
         ENTITY_CACHE_EXPIRATION, lambda x: self.eventDao.get_upcoming(
             city_name, sport, locality_name, no_records))
Пример #3
0
 def search_index_suggest(self, user_ip, status, **params):
   logger.debug('Suggest Search Param Results: ' + str(params))
   #locality = params['address.locality']   #TODO: Hardcoded for testing. To be made generic.    
   
   suggest_playgrounds = []
   if status != 'all':
     status_value = STATUS_DICT.get(status)
     logger.debug('Status %d ' % (status_value))
     
   query_str = 'status:'+str(status_value)
     
   for key, value in params.items():      
     if key == 'latlong' and value is not None:
       query_str += ' AND distance(latlong, geopoint('+str(value)+')) < 5000'
     if '.' in key and value is not None:
       struct, attr = key.split('.')
       if struct == 'address':          
         if attr == 'locality':
           query_str += ' NOT locality:'+str(value)
           
   try:
     index = search.Index(PLAYGROUND)          
     
     sortopts = search.SortOptions(expressions=[
         search.SortExpression(expression='name', direction='ASCENDING')])
     search_query = search.Query(
         query_string=query_str,
         options=search.QueryOptions(
             limit=PAGE_SIZE,
             sort_options=sortopts))
     search_results = index.search(search_query)
     #logger.debug('Suggest Search Result:' + str(search_results))
     
   except search.Error:
     logger.exception("NdbPlaygroundDao:: Search query failed for suggest playgrounds")
     #Retrieve the doc_id from the search results and then use that to query the datastore to fetch the entity
   
   keys = []    
   for doc in search_results:
     keys.append(ndb.Key(Playground, long(doc.doc_id)))
   
   #suggest_playgrounds = ndb.get_multi(keys)    
   #return suggest_playgrounds
   cache_id = 'suggest_'+str(PLAYGROUND)+'_'+str(user_ip)
   get_keys = mc_get(cache_keys.get_suggest_keys_cache_key(cache_id))    
   if get_keys is not None:
     del_keys = mc_delete(cache_keys.get_suggest_keys_cache_key(cache_id))
   add_keys = mc_wrap(cache_keys.get_suggest_keys_cache_key(cache_id), ENTITY_CACHE_EXPIRATION,
                     lambda x: keys)
   logger.info('No of Suggest Playground Added to cache : %s' % len(add_keys))
   return keys
Пример #4
0
 def get_record(self, id):
   playground = mc_wrap(cache_keys.get_playground_cache_key(id), ENTITY_CACHE_EXPIRATION,
                   lambda x: self.playgroundDao.get_record(id))
   return playground    
Пример #5
0
 def get_record(self, id):
     bulkdata = mc_wrap(cache_keys.get_bulkdata_cache_key(id),
                        ENTITY_CACHE_EXPIRATION,
                        lambda x: self.bulkdataDao.get_record(id))
     return bulkdata
Пример #6
0
 def get_record(self, id):
     return mc_wrap(cache_keys.get_match_cache_key(id),
                    ENTITY_CACHE_EXPIRATION,
                    lambda x: self.matchDao.get_record(id))
Пример #7
0
 def get_record(self, id):
   register = mc_wrap(cache_keys.get_register_cache_key(id), ENTITY_CACHE_EXPIRATION,
                   lambda x: self.registerDao.get_record(id))
   return register   
Пример #8
0
 def get_record(self, id):
     profile = mc_wrap(cache_keys.get_user_cache_key(id),
                       ENTITY_CACHE_EXPIRATION,
                       lambda x: self.profileDao.get_record(id))
     return profile
Пример #9
0
 def get_recommend(self, locality=None, sport=None, no_records=8):
   return mc_wrap(cache_keys.get_recommend_playground_cache_key(locality, sport), ENTITY_CACHE_EXPIRATION,
                   lambda x: self.playgroundDao.get_recommend(locality, sport, no_records))
Пример #10
0
 def get_record(self, id):
     event = mc_wrap(cache_keys.get_event_cache_key(id),
                     ENTITY_CACHE_EXPIRATION,
                     lambda x: self.eventDao.get_record(id))
     return event
Пример #11
0
 def get_child_events(self, entity_id, no_records=-1):
     return mc_wrap(
         cache_keys.get_event_children_cache_key(entity_id),
         ENTITY_CACHE_EXPIRATION, lambda x: self.eventDao.get_child_events(
             entity_id, 'desc', no_records))
Пример #12
0
 def get_record(self, id):
     business = mc_wrap(get_business_cache_key(id), ENTITY_CACHE_EXPIRATION,
                        lambda x: self.businessDao.get_record(id))
     return business
Пример #13
0
 def get_record(self, id):
   childevent = mc_wrap(get_childevent_cache_key(id), ENTITY_CACHE_EXPIRATION,
                   lambda x: self.childeventDao.get_record(id))
   return childevent
Пример #14
0
 def get_record(self, id):
     locality = mc_wrap(cache_keys.get_locality_cache_key(id),
                        ENTITY_CACHE_EXPIRATION,
                        lambda x: self.importDao.get_record(id))
     return locality
Пример #15
0
 def get_active(self, city_name=None, sport=None, no_records=4):
     return mc_wrap(
         cache_keys.get_active_event_cache_key(city_name, sport),
         ENTITY_CACHE_EXPIRATION,
         lambda x: self.eventDao.get_active(city_name, sport, no_records))
Пример #16
0
 def get_active(self, city_name=None, sport=None, no_records=8):
   return mc_wrap(cache_keys.get_active_playground_cache_key(city_name, sport), ENTITY_CACHE_EXPIRATION,
                   lambda x: self.playgroundDao.get_active(city_name, sport, no_records))
Пример #17
0
 def get_record(self, id):
     media = mc_wrap(cache_keys.get_media_cache_key(id),
                     ENTITY_CACHE_EXPIRATION,
                     lambda x: self.mediaDao.get_record(id))
     return media
Пример #18
0
 def get_suggest_keys(self, id):
     logger.info('NdbPlaygroundDao:: DBHIT: get_suggest_keys for playground')
     return mc_wrap(cache_keys.get_suggest_keys_cache_key(id), ENTITY_CACHE_EXPIRATION,
                     lambda x: None)
Пример #19
0
def get_localities(city_name):
    return mc_wrap(cache_keys.get_localities_cache_key(city_name),
                   STATIC_CACHE_EXPIRATION,
                   lambda x: _get_localities_from_dao(city_name))