def blog_post_view(context, request):
    result = {}
    obj = context
    dc = obj.metadata.get('dublin',{})
    result['title'] = dc.get('title', obj.__name__)
    result['description'] = dc.get('description', '')
    result['url'] = obj.__name__
    result['created'] = dc.get('created', '')
    result['creator'] = dc.get('creators', [])[0]

    pachs = request.url.split('/')
    img_url =  '/'.join(pachs[0:len(pachs)-2]) + '/img/'

    result['body'] = IHTMLRenderer(obj).html().replace('src="img/', 'src="%s' % img_url)
    tabs = render_tabs(context,request)

    settings = queryUtility(ISettings)
    idcomments_acct = str(getattr(settings, 'idcomments_acct', ''))
    return render_template_to_response('templates/blogpost.pt',
            title = dc.get('title', context.__name__),
            result = result,
            tabs = tabs,
            post_created = getDisplayTime(result['created']),
            idcomments_acct = idcomments_acct,
            )
Example #2
0
def blog_view(context, request, size=5):
    current_page = request.params.get("page", "0")
    # XXX hack, 很奇怪会附加一个/
    if current_page.endswith("/"):
        current_page = current_page[:-1]
    current_page = int(current_page)
    page_url = paginate.PageURL_WebOb(request)
    blog_subpaths = context.get_recent_file_subpaths()
    blog_page = paginate.Page(blog_subpaths, current_page, items_per_page=size, url=page_url)

    posts = []
    for subpath in blog_page:
        obj = context.get_obj_by_subpath(subpath)
        if obj is not None:
            raw_html = obj.render_html(request)
            converted_html = raw_html.replace('src="img/', 'src="%s/../img/' % obj.url(request))
            dc = obj.metadata
            created = dc.get("modified", dc.get("created", datetime.now()))
            posts.append(
                {
                    "title": obj.title,
                    "description": dc.get("description", ""),
                    "url": subpath,
                    "created": getDisplayTime(created),
                    "creator": dc.get("creator", ""),
                    "body": converted_html,
                }
            )

    batch = blog_page.pager()
    return render("templates/bloglist.pt", dict(result=posts, batch=batch))
Example #3
0
def blog_post_view(context, request):
    result = {}
    obj = context
    dc = obj.metadata.get('dublin', {})
    result['title'] = dc.get('title', obj.__name__)
    result['description'] = dc.get('description', '')
    result['url'] = obj.__name__
    result['created'] = dc.get('created', '')
    result['creator'] = dc.get('creators', [])[0]

    pachs = request.url.split('/')
    img_url = '/'.join(pachs[0:len(pachs) - 2]) + '/img/'

    result['body'] = IHTMLRenderer(obj).html().replace('src="img/',
                                                       'src="%s' % img_url)
    tabs = render_tabs(context, request)

    settings = queryUtility(ISettings)
    idcomments_acct = str(getattr(settings, 'idcomments_acct', ''))
    return render_template_to_response(
        'templates/blogpost.pt',
        title=dc.get('title', context.__name__),
        result=result,
        tabs=tabs,
        post_created=getDisplayTime(result['created']),
        idcomments_acct=idcomments_acct,
    )
Example #4
0
def blog_post_view(context, request):
    """ 单独一篇博客 """
    obj = context
    dc = obj.metadata

    result = {}
    result['url'] = obj.__name__
    result['title'] = obj.title
    result['description'] = dc.get('description', '')
    result['created'] = dc.get('modified', dc.get('created', ''))
    result['creator'] = dc.get('creator', '')

    pachs = request.url.split('/')
    img_url =  '/'.join(pachs[0:len(pachs)-2]) + '/img/'
    result['body'] = obj.render_html(request).replace('src="img/', 'src="%s' % img_url)

    idcomments_acct = request.registry.settings.get('idcomments_acct', '')

    title = context.title
    description = dc.get('description', '')
    return render(
        'templates/blogpost_main.pt',
        dict(
            result = result,
            post_created = getDisplayTime(result['created']),
            idcomments_acct = idcomments_acct,
        )
    )
Example #5
0
def blog_post_view(context, request):
    """ 单独一篇博客 """
    obj = context
    dc = obj.metadata

    result = {}
    result['url'] = obj.__name__
    result['title'] = obj.title
    result['description'] = dc.get('description', '')
    result['created'] = dc.get('modified', dc.get('created', datetime.now()))
    result['creator'] = dc.get('creator', '')

    pachs = request.url.split('/')
    img_url = '/'.join(pachs[0:len(pachs) - 2]) + '/img/'
    result['body'] = obj.render_html(request).replace('src="img/',
                                                      'src="%s' % img_url)

    idcomments_acct = request.registry.settings.get('idcomments_acct', '')

    title = context.title
    description = dc.get('description', '')
    return render(
        'templates/blogpost_main.pt',
        dict(
            result=result,
            post_created=getDisplayTime(result['created']),
            idcomments_acct=idcomments_acct,
        ))
Example #6
0
def render_news(context, request, path, size=5, klass='nav nav-list'):
    site = context.get_site()
    container = site.get_obj_by_subpath(path)
    container_url = container.url(request)
    title = container.title

    posts = []
    blog_subpaths = container.get_recent_file_subpaths()

    for subpath in blog_subpaths[:size]:
        obj = container.get_obj_by_subpath(subpath)
        if obj is None: continue

        dc = obj.metadata
        url = obj.url(request)
        if url.endswith('/'): url = url[:-1]
        created = dc.get('modified', dc.get('created', datetime.now()))
        posts.append("""<li><a href="%s">%s</a><span>%s</span></li>""" % \
              (url, obj.title, getDisplayTime(created)))

    return '<ul class="%s">%s</ul>' % (klass, ''.join(posts))
Example #7
0
def blog_view(context, request, size=5):
    current_page = request.params.get('page', '0')
    # XXX hack, 很奇怪会附加一个/
    if current_page.endswith('/'):
        current_page = current_page[:-1]
    current_page = int(current_page)
    page_url = paginate.PageURL_WebOb(request)
    blog_subpaths = context.get_recent_file_subpaths()
    blog_page = paginate.Page(blog_subpaths, current_page, items_per_page=size, url=page_url)

    posts = []
    for subpath in blog_page:
        obj = context.get_obj_by_subpath(subpath)
        if obj is not None:
            url = '/'.join(obj.vpath.split('/')[2:])
            dc = obj.metadata
            raw_html = obj.render_html(request)
            converted_html = raw_html.replace(
                'src="img/',
                'src="%s/%s/../img/' % (request.application_url, url)
            )
            created = datetime.strptime(dc.get('modified', dc.get('created', '')), '%Y-%m-%d %H:%M')
            posts.append({
                'title':obj.title,
                'description':dc.get('description', ''),
                'url':subpath,
                'created':getDisplayTime(created),
                'creator':dc.get('creator', ''),
                'body':converted_html,
            })

    batch = blog_page.pager()
    return render(
        'templates/bloglist.pt',
        dict(
            result = posts,
            batch = batch,
        )
    )
Example #8
0
def blog_view(context, request):
    batch_start = int(request.params.get('b_start', 0))
    posts = []
    blog_subpaths = context.get_recent_file_subpaths()
    if batch_start >= len(blog_subpaths):
        return HTTPFound(location=request.url.split('?b_start')[0])

    for subpath in blog_subpaths:
        obj = context.get_obj_by_subpath(subpath)
        if obj != None:
            url = '/'.join(obj.vpath.split('/')[2:])
            dc = obj.metadata.get('dublin', {})
            raw_html = IHTMLRenderer(obj).html().decode('utf-8')
            converted_html = raw_html.replace('src="img/',\
                         'src="%s/%s/../img/' %(request.application_url, url))
            posts.append({
                'title': dc.get('title', obj.__name__),
                'description': dc.get('description', ''),
                'url': '/'.join(url.split('/')[1:]),
                'created': getDisplayTime(dc.get('created', '')),
                'creator': dc.get('creators', [])[0],
                'body': converted_html[:500] + ' ......',
            })

    posts = Batch(posts, start=batch_start, size=5)

    dc = context.metadata.get('dublin', {})
    tabs = render_tabs(context, request)
    html_cols = render_cols(context, request)
    batch = render_batch(context, request)
    return render_template_to_response(
        'templates/blog.pt',
        title=dc.get('title', context.__name__),
        result=posts,
        tabs=tabs,
        batch=batch,
        html_cols=html_cols,
    )
def blog_view(context, request):
    batch_start = int(request.params.get('b_start', 0))
    posts = []
    blog_subpaths = context.get_recent_file_subpaths()
    if batch_start >= len(blog_subpaths):
        return HTTPFound(location=request.url.split('?b_start')[0])

    for subpath in blog_subpaths:
        obj = context.get_obj_by_subpath(subpath)
        if obj != None:
            url = '/'.join(obj.vpath.split('/')[2:])
            dc = obj.metadata.get('dublin', {})
            raw_html = IHTMLRenderer(obj).html().decode('utf-8')
            converted_html = raw_html.replace('src="img/',\
                         'src="%s/%s/../img/' %(request.application_url, url))
            posts.append( {'title':dc.get('title', obj.__name__),
                           'description':dc.get('description', ''),
                           'url':'/'.join(url.split('/')[1:]),
                           'created':getDisplayTime(dc.get('created', '')),
                           'creator':dc.get('creators', [])[0],
                           'body': converted_html[:500]+' ......',
                           })

    posts = Batch(posts, start=batch_start, size=5)
    
    dc = context.metadata.get('dublin', {})
    tabs = render_tabs(context,request)
    html_cols = render_cols(context, request)
    batch = render_batch(context, request)
    return render_template_to_response('templates/blog.pt',
            title = dc.get('title', context.__name__),
            result = posts,
            tabs = tabs,
            batch = batch,
            html_cols = html_cols,
            )
Example #10
0
def blog_post_view(context, request):
    """ 单独一篇博客 """
    obj = context
    dc = obj.metadata

    result = {}
    result["url"] = obj.__name__
    result["title"] = obj.title
    result["description"] = dc.get("description", "")
    result["created"] = dc.get("modified", dc.get("created", datetime.now()))
    result["creator"] = dc.get("creator", "")

    pachs = request.url.split("/")
    img_url = "/".join(pachs[0 : len(pachs) - 2]) + "/img/"
    result["body"] = obj.render_html(request).replace('src="img/', 'src="%s' % img_url)

    idcomments_acct = request.registry.settings.get("idcomments_acct", "")

    title = context.title
    description = dc.get("description", "")
    return render(
        "templates/blogpost_main.pt",
        dict(result=result, post_created=getDisplayTime(result["created"]), idcomments_acct=idcomments_acct),
    )
Example #11
0
def blog_view(context, request, size=5):
    current_page = request.params.get('page', '0')
    # XXX hack, 很奇怪会附加一个/
    if current_page.endswith('/'):
        current_page = current_page[:-1]
    current_page = int(current_page)
    page_url = paginate.PageURL_WebOb(request)
    blog_subpaths = context.get_recent_file_subpaths()
    blog_page = paginate.Page(blog_subpaths,
                              current_page,
                              items_per_page=size,
                              url=page_url)

    posts = []
    for subpath in blog_page:
        obj = context.get_obj_by_subpath(subpath)
        if obj is not None:
            raw_html = obj.render_html(request)
            converted_html = raw_html.replace(
                'src="img/', 'src="%s/../img/' % obj.url(request))
            dc = obj.metadata
            created = dc.get('modified', dc.get('created', datetime.now()))
            posts.append({
                'title': obj.title,
                'description': dc.get('description', ''),
                'url': subpath,
                'created': getDisplayTime(created),
                'creator': dc.get('creator', ''),
                'body': converted_html,
            })

    batch = blog_page.pager()
    return render('templates/bloglist.pt', dict(
        result=posts,
        batch=batch,
    ))
Example #12
0
def render_news(context, request, path, size=5, klass="nav nav-list"):
    site = context.get_site()
    container = site.get_obj_by_subpath(path)
    container_url = container.url(request)
    title = container.title

    posts = []
    blog_subpaths = container.get_recent_file_subpaths()

    for subpath in blog_subpaths[:size]:
        obj = container.get_obj_by_subpath(subpath)
        if obj is None:
            continue

        dc = obj.metadata
        url = obj.url(request)
        if url.endswith("/"):
            url = url[:-1]
        created = dc.get("modified", dc.get("created", datetime.now()))
        posts.append("""<li><a href="%s">%s</a><span>%s</span></li>""" % (url, obj.title, getDisplayTime(created)))

    return '<ul class="%s">%s</ul>' % (klass, "".join(posts))