def _set_cache(self, user, friends):
        cache = get_cache()

        key = 'mss.friends.%s' % user.id

        logging.debug("setting cache for key %s" % key)
        cache.set(key, friends)
def create_logged_user(last_name='should-be-last-name-1', first_name='test_create_user', email='should-be-email', username='******'):

    user = User()
    user.last_name = last_name
    user.first_name = first_name
    user.username = username
    user.gender = User._MALE
    user.created = datetime.now()
    user.last_login = datetime.now()
    user.email = email
    user.is_staff = False
    user.is_superuser = False
    user.is_active = True

    password = '******'

    m = hashlib.sha1()
    m.update(password)

    user.password = '******' + m.hexdigest()
    user.save()

    cache = get_cache()
    cache.set('should-be-user-auth', username)

    return user
    def _set_cache(self, user, friends):
        cache = get_cache()

        key = 'mss.friends.%s' % user.id

        logging.debug("setting cache for key %s" % key)
        cache.set(key, friends)
Beispiel #4
0
def create_logged_user(last_name='should-be-last-name-1',
                       first_name='test_create_user',
                       email='should-be-email',
                       username='******'):

    user = User()
    user.last_name = last_name
    user.first_name = first_name
    user.username = username
    user.gender = User._MALE
    user.created = datetime.now()
    user.last_login = datetime.now()
    user.email = email
    user.is_staff = False
    user.is_superuser = False
    user.is_active = True

    password = '******'

    m = hashlib.sha1()
    m.update(password)

    user.password = '******' + m.hexdigest()
    user.save()

    cache = get_cache()
    cache.set('should-be-user-auth', username)

    return user
 def after_insert(self, mapper, connection, instance):
     cache = get_cache()
     expires = self.get_expires(instance, "create")
     for expire in expires:
         md5key, key = self.get_key_from_expires(instance, expire)
         logging.debug("Invalidando chave[%s] no cache on insert [%s][%s]" % (key,instance, md5key))
         cache.delete(md5key)
     
     return EXT_CONTINUE
    def after_insert(self, mapper, connection, instance):
        cache = get_cache()
        expires = self.get_expires(instance, "create")
        for expire in expires:
            md5key, key = self.get_key_from_expires(instance, expire)
            logging.debug("Invalidando chave[%s] no cache on insert [%s][%s]" %
                          (key, instance, md5key))
            cache.delete(md5key)

        return EXT_CONTINUE
    def suggestions(self, user, **kw):
        request_handler = kw.get('request_handler')

        #TODO - passar para o model
        cache = get_cache()
        key = 'mss.friends.%s' % user.id

        friends = cache.get(key)

        #TODO - enviar email se achar?
        if friends:
            return self.render_to_json({"friends": [friend.as_dict() for friend in friends]}, request_handler)

        return self.render_to_json({"status": "ok", "msg": "There is no suggestion at this time!"}, request_handler)
    def test_can_login(self):

        user = create_user(username='******')

        self.http_client.fetch(self.get_url('/login') + '?username=%s&password=should-be-password' % user.username, self.stop)

        response = self.wait()

        cache = get_cache()
        username = cache.get(simplejson.loads(response.body)['msg'])

        assert username == user.username

        user.delete()
    def get(self, ident, **kw):

        mapper = self._mapper_zero()
        session = self.session
        cache = get_cache()

        #        logging.debug("%s.................................................." % datetime.now().strftime("%H:%M:%S:%f"))

        key = mapper.identity_key_from_primary_key(ident)

        cacheobj = session.identity_map.get(key)

        if cacheobj and hasattr(cacheobj,
                                "__no_session__") and cacheobj.__no_session__:
            session.expunge(cacheobj)
            cacheobj = None

        cache_key, keystr = CachedQuery.generate_key(key[0], ident)

        if not cacheobj:

            if not (hasattr(key[0], "__no_cache__") and key[0].__no_cache__):
                cacheobj = cache.get(cache_key)

            if cacheobj is not None:
                logging.debug(
                    "CachedQuery [CACHE] -> recuperando do cache e setando na sessao"
                )
                cacheobj.__dict__[
                    "_sa_instance_state"] = attributes.instance_state(cacheobj)
                session.add(cacheobj)

            else:
                logging.debug(
                    "CachedQuery [BANCO] -> nao existe no cache, pega do banco %s"
                    % keystr)
                cacheobj = super(CachedQuery, self).get(ident)
                if cacheobj is None:
                    return None
                logging.debug("CachedQuery [CACHE] -> setando no cache %s" %
                              cacheobj)
                cache.set(cache_key, cacheobj)
        else:
            logging.debug("CachedQuery [SESSION] -> recuperando da sessao ")


#        logging.debug("%s.................................................." % datetime.now().strftime("%H:%M:%S:%f"))
        return cacheobj
    def after_update(self, mapper, connection, instance):
        if not Session.object_session(instance).is_modified(instance, include_collections=False, passive=True): return EXT_STOP
        
        cache = get_cache()
        expires = self.get_expires(instance, "update")
        for expire in expires:
            md5key, key = self.get_key_from_expires(instance, expire)
            logging.debug("Invalidando chave[%s] no cache on update [%s][%s]" % (key,instance, md5key))
            cache.delete(md5key)

        # espira a instancia
        md5key, key = self.get_key_from_mapper(mapper,instance)
        logging.debug("Invalidando chave[%s] no cache on update [%s][%s]" % (key,instance, md5key))
        cache.delete(md5key)
        
        return EXT_CONTINUE
Beispiel #11
0
    def test_can_login(self):

        user = create_user(username='******')

        self.http_client.fetch(
            self.get_url('/login') +
            '?username=%s&password=should-be-password' % user.username,
            self.stop)

        response = self.wait()

        cache = get_cache()
        username = cache.get(simplejson.loads(response.body)['msg'])

        assert username == user.username

        user.delete()
    def after_update(self, mapper, connection, instance):
        if not Session.object_session(instance).is_modified(
                instance, include_collections=False, passive=True):
            return EXT_STOP

        cache = get_cache()
        expires = self.get_expires(instance, "update")
        for expire in expires:
            md5key, key = self.get_key_from_expires(instance, expire)
            logging.debug("Invalidando chave[%s] no cache on update [%s][%s]" %
                          (key, instance, md5key))
            cache.delete(md5key)

        # espira a instancia
        md5key, key = self.get_key_from_mapper(mapper, instance)
        logging.debug("Invalidando chave[%s] no cache on update [%s][%s]" %
                      (key, instance, md5key))
        cache.delete(md5key)

        return EXT_CONTINUE
    def suggestions(self, user, **kw):
        request_handler = kw.get('request_handler')

        #TODO - passar para o model
        cache = get_cache()
        key = 'mss.friends.%s' % user.id

        friends = cache.get(key)

        #TODO - enviar email se achar?
        if friends:
            return self.render_to_json(
                {"friends": [friend.as_dict() for friend in friends]},
                request_handler)

        return self.render_to_json(
            {
                "status": "ok",
                "msg": "There is no suggestion at this time!"
            }, request_handler)
    def get(self, ident, **kw):
    
        mapper = self._mapper_zero()
        session = self.session
        cache = get_cache()
        
#        logging.debug("%s.................................................." % datetime.now().strftime("%H:%M:%S:%f"))
        
        key = mapper.identity_key_from_primary_key(ident)
        
        cacheobj = session.identity_map.get(key)
        
        if cacheobj and hasattr(cacheobj, "__no_session__") and cacheobj.__no_session__:
            session.expunge(cacheobj)
            cacheobj = None

        cache_key, keystr = CachedQuery.generate_key(key[0], ident)

        if not cacheobj:

            if not (hasattr(key[0], "__no_cache__") and key[0].__no_cache__):
                cacheobj = cache.get(cache_key)

            if cacheobj is not None:
                logging.debug("CachedQuery [CACHE] -> recuperando do cache e setando na sessao")
                cacheobj.__dict__["_sa_instance_state"] = attributes.instance_state(cacheobj)
                session.add(cacheobj)
                    
            else:
                logging.debug("CachedQuery [BANCO] -> nao existe no cache, pega do banco %s" % keystr)
                cacheobj = super(CachedQuery, self).get(ident)
                if cacheobj is None: 
                    return None 
                logging.debug("CachedQuery [CACHE] -> setando no cache %s" % cacheobj)
                cache.set(cache_key, cacheobj)
        else:
            logging.debug("CachedQuery [SESSION] -> recuperando da sessao ")

#        logging.debug("%s.................................................." % datetime.now().strftime("%H:%M:%S:%f"))
        return cacheobj
def set_instance_cache(instance):
    md5key, key = CachedQuery.generate_key(instance.__class__, instance.id)
    cache = get_cache()
    logging.debug("[CACHE][set] - %s {%s}" % (md5key, key))

    cache.set(md5key, instance)
Beispiel #16
0
def set_instance_cache(instance):
    md5key, key = CachedQuery.generate_key(instance.__class__, instance.id)
    cache = get_cache()
    logging.debug("[CACHE][set] - %s {%s}" % (md5key, key))

    cache.set(md5key, instance)
Beispiel #17
0
def expire_instance_cache(classe, id):
    md5key, key = CachedQuery.generate_key(classe, id)
    cache = get_cache()
    logging.debug("[CACHE][expire] - %s {%s}" % (md5key, key))

    cache.delete(md5key)
def expire_instance_cache(classe, id):
    md5key, key = CachedQuery.generate_key(classe, id)
    cache = get_cache()
    logging.debug("[CACHE][expire] - %s {%s}" % (md5key, key))

    cache.delete(md5key)