Ejemplo n.º 1
0
def get_page(file_name):
    theme = get_activated_theme()

    if theme is not None:
        path = "{}/pages/{}".format(theme["path"], file_name)
        mimetype = "text/raw"

        return send_file(path, mimetype=mimetype)
    else:
        return "No activated theme", 400
Ejemplo n.º 2
0
def get_static(folder_name, file_name):
    theme = get_activated_theme()

    if theme is not None:
        path = "{}/static/{}/{}".format(theme["path"], folder_name, file_name)
        mimetype = ""

        if "css" in folder_name or "css" in file_name:
            mimetype = "text/css"

        elif "image" in folder_name:
            mimtype = "image/jpg"

        return send_file(path, mimetype=mimetype)
    else:
        return "No activated theme", 400
Ejemplo n.º 3
0
def render(template_name):

    package = {
            'request_get': request.args,
            'request_post': request.form,
            'request_body': request.get_data(),
            'request_unknown': request.stream.read()
            }

    if not get_option('initialized'):
        return redirect('/setup')


    if template_name is None:
        template_name = 'index.html'

    theme = get_activated_theme()

    if theme is not None:
        pages_path = 'lwpcms/{}/pages'.format(theme['path'])
        abs_pages_path = os.path.abspath(pages_path)
        abs_templates_path = os.path.abspath('lwpcms/templates')
        page_path = '{}/{}'.format(pages_path, template_name)

        if not os.path.exists('{}/theme'.format(abs_templates_path)):
            os.makedirs('{}/theme'.format(abs_templates_path))

        for filename in glob.iglob('{}/*.html'.format(abs_pages_path)):
            linked_file = '{}/theme/{}'.format(abs_templates_path, ntpath.basename(filename))
            
            if os.path.islink(linked_file):
                os.unlink(linked_file)

            os.symlink(filename, linked_file)

        call_module_event(hooks['site_request'], {'package': package})
        
        if not os.path.isfile(page_path):
            return render_template(
                    'error.html',
                    error='This page does not exist'
                    ), 404

        return render_template_string(open(page_path).read(), package=package)
    else:
        return render_template('index.html')