Example #1
0
def _get_url(shortcode):
    """Retrive url from cache or swift"""
    longurl = cache.get(shortcode)
    if longurl:
        return longurl
    else:
        cf = StandardClient(
            auth_url=app.config['CF_AUTH_URL'],
            auth_user=app.config['CF_USERNAME'],
            auth_key=app.config['CF_API_KEY'],
            snet=app.config['USE_SNET'],
            auth_cache_path=app.config['SWIFTLY_AUTH_CACHE_PATH'],
            eventlet=app.config['USE_EVENTLET'],
            region=app.config['CF_REGION'],
            verbose=_swiftlyv
        )
        res = cf.head_object(app.config['CF_CONTAINER'], shortcode)
        if not res[0] == 200:
            return None
        else:
            longurl = res[2].get('x-object-meta-longurl', None)
            cache.set(shortcode, longurl)
            return longurl