Esempio n. 1
0
def get_cache_content(node_settings, cache_file_name, start_render=False,
                      file_content=None, download_url=None):
    """
    """
    cache_dir = get_cache_path(node_settings, cache_type='rendered')
    cache_file_path = os.path.join(cache_dir, cache_file_name)
    try:
        return codecs.open(cache_file_path, 'r', 'utf-8').read()
    except IOError:
        # Start rendering job if requested
        if start_render:
            if file_content is None:
                raise ValueError('Must provide "file_content"')
            temp_file_dir = get_cache_path(node_settings, cache_type='temp')
            temp_file_path = os.path.join(temp_file_dir, cache_file_name)
            ensure_path(temp_file_dir)
            with open(temp_file_path, 'wb') as fp:
                fp.write(file_content)
            build_rendered_html(
                temp_file_path,
                cache_dir,
                cache_file_name,
                download_url,
            )
        return None
Esempio n. 2
0
def get_or_start_render(file_guid, start_render=True):
    try:
        file_guid.enrich()
    except exceptions.AddonEnrichmentError as error:
        return error.as_html()

    try:
        return codecs.open(file_guid.mfr_cache_path, 'r', 'utf-8').read()
    except IOError:
        if start_render:
            # Start rendering job if requested
            build_rendered_html(file_guid.mfr_download_url,
                                file_guid.mfr_cache_path,
                                file_guid.mfr_temp_path,
                                file_guid.public_download_url)
    return None
Esempio n. 3
0
def get_cache_content(node_settings, cache_file, start_render=False,
                      file_path=None, file_content=None, download_path=None):
    """

    """
    # Get rendered content if present
    cache_path = get_cache_path(node_settings)
    cache_file_path = os.path.join(cache_path, cache_file)
    try:
        return codecs.open(cache_file_path, 'r', 'utf-8').read()
    except IOError:
        # Start rendering job if requested
        if start_render:
            build_rendered_html(
                file_path, file_content, cache_path, cache_file_path,
                download_path
            )
        return None
Esempio n. 4
0
def get_or_start_render(file_guid, start_render=True):
    try:
        file_guid.enrich()
    except exceptions.AddonEnrichmentError as error:
        return error.as_html()

    try:
        return codecs.open(file_guid.mfr_cache_path, 'r', 'utf-8').read()
    except IOError:
        if start_render:
            # Start rendering job if requested
            build_rendered_html(
                file_guid.mfr_download_url,
                file_guid.mfr_cache_path,
                file_guid.mfr_temp_path,
                file_guid.public_download_url
            )
    return None
Esempio n. 5
0
def get_cache_content(node_settings,
                      cache_file_name,
                      start_render=False,
                      remote_path=None,
                      file_content=None,
                      download_url=None):
    """
    :param node_settings: Node settings record
    :param str cache_file_name: Name of cached rendered file
    :param bool start_render: Start rendering job if cached file not present
    :param str remote_path: Path or name of file on remote service
    :param str file_content: File contents
    :param str download_url: External download URL
    """
    cache_dir = get_cache_path(node_settings, cache_type='rendered')
    cache_file_path = os.path.join(cache_dir, cache_file_name)
    try:
        return codecs.open(cache_file_path, 'r', 'utf-8').read()
    except IOError:
        # Start rendering job if requested
        if start_render:
            if file_content is None:
                raise ValueError('Must provide "file_content"')
            if remote_path is None:
                raise ValueError('Must provide "remote_path"')
            temp_file_dir = get_cache_path(node_settings, cache_type='temp')
            _, temp_file_ext = os.path.splitext(remote_path)
            temp_file_path = os.path.join(
                temp_file_dir,
                '{0}{1}'.format(cache_file_name, temp_file_ext),
            )
            ensure_path(temp_file_dir)
            with open(temp_file_path, 'wb') as fp:
                fp.write(file_content)
            build_rendered_html(
                temp_file_path,
                cache_dir,
                cache_file_name,
                download_url,
            )
        return None
Esempio n. 6
0
def get_cache_content(node_settings, cache_file_name, start_render=False,
                      remote_path=None, file_content=None, download_url=None):
    """
    :param node_settings: Node settings record
    :param str cache_file_name: Name of cached rendered file
    :param bool start_render: Start rendering job if cached file not present
    :param str remote_path: Path or name of file on remote service
    :param str file_content: File contents
    :param str download_url: External download URL
    """
    cache_dir = get_cache_path(node_settings, cache_type='rendered')
    cache_file_path = os.path.join(cache_dir, cache_file_name)
    try:
        return codecs.open(cache_file_path, 'r', 'utf-8').read()
    except IOError:
        # Start rendering job if requested
        if start_render:
            if file_content is None:
                raise ValueError('Must provide "file_content"')
            if remote_path is None:
                raise ValueError('Must provide "remote_path"')
            temp_file_dir = get_cache_path(node_settings, cache_type='temp')
            _, temp_file_ext = os.path.splitext(remote_path)
            temp_file_path = os.path.join(
                temp_file_dir,
                '{0}{1}'.format(cache_file_name, temp_file_ext),
            )
            ensure_path(temp_file_dir)
            with open(temp_file_path, 'wb') as fp:
                fp.write(file_content)
            build_rendered_html(
                temp_file_path,
                cache_dir,
                cache_file_name,
                download_url,
            )
        return None