def _read(self, key = None):
        """
        _read is an internal method that will get the cache entry directly
        from the datastore, and return the entity. This is used for datastore
        maintenance within the class.

        Args:
            key: The key to retrieve

        Returns the cache entity
        """
        query = _AppEngineUtilities_Cache.all()
        query.filter('cachekey', key)
        query.filter('timeout > ', datetime.datetime.now())
        results = query.fetch(1)
        if len(results) is 0:
            return None

        if 'AEU_Events' in __main__.__dict__:
            __main__.AEU_Events.fire_event('cacheReadFromDatastore')
        if 'AEU_Events' in __main__.__dict__:
            __main__.AEU_Events.fire_event('cacheRead')

        return results[0]
dataset/ETHPy150Open CollabQ/CollabQ/common/appengine_utilities/cache.py/Cache._read/original