Пример #1
0
def enqueue_page_screenshot_request(page):
    url = 'http://{hostname}{path}'.format(
        hostname=current_site.domain,
        path=page.get_absolute_url()
    )
    job = {
        'pageId': page.id,
        'url': url,
    }
    job_json = json.dumps(job)
    logger.info("Enqueueing job %s" % job_json)
    try_redis_call('rpush', JOBS_KEY, job_json)
Пример #2
0
def get_latest_screenshot(page, include_private=False):
    if not page:
        return None
    key = get_key(page)
    latest = try_redis_call('get', key, default=None)
    final_result = []
    if include_private or page.published:
        final_result = latest or DEFAULT_SCREENSHOT
    else:
        final_result = PRIVATE_SCREENSHOT
    return final_result
Пример #3
0
def get_latest_screenshots(pages, include_private=False):
    # doesn't check s3 for the latest screenshot when none is found
    #   - that should be done in an offline process
    if not pages:
        return []
    keys = map(get_key, pages)
    latest = try_redis_call('mget', *keys, default=[None]*len(pages))
    final_result = []
    for page, screen in zip(pages, latest):
        if include_private or page.published:
            final_result.append(screen or DEFAULT_SCREENSHOT)
        else:
            final_result.append(PRIVATE_SCREENSHOT)
    return final_result