当前位置: 首页>>代码示例>>Python>>正文


Python AtomFeed.to_string方法代码示例

本文整理汇总了Python中werkzeug.contrib.atom.AtomFeed.to_string方法的典型用法代码示例。如果您正苦于以下问题:Python AtomFeed.to_string方法的具体用法?Python AtomFeed.to_string怎么用?Python AtomFeed.to_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在werkzeug.contrib.atom.AtomFeed的用法示例。


在下文中一共展示了AtomFeed.to_string方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def feed(name):
    if current_app.config.get('PRIVATE_WIKI') and current_user.is_anonymous:
        return current_app.login_manager.unauthorized()
    cname = to_canonical(name)
    wiki_name = current_app.config['SITE_TITLE']
    start = 0
    length = int(request.args.get('length', 20))

    the_feed = AtomFeed(
        title="{} - Recent changes for page '{}'".format(wiki_name, cname),
        url=url_for('wiki.page', name=cname, _external=True),
        id="{}_pagefeed_{}".format(to_canonical(wiki_name), cname),
        feed_url=url_for('wiki.feed', name=cname, _external=True),
        generator=("Realms wiki", 'https://github.com/scragg0x/realms-wiki', __version__)
    )

    page = g.current_wiki.get_page(cname)
    items = list(itertools.islice(page.history, start, start + length))  # type: list[dict]

    for item in items:
        the_feed.add(
            title="Commit '{}'".format(item['sha']),
            content=item['message'],
            url=url_for('wiki.commit', name=name, sha=item['sha'], _external=True),
            id="{}/{}".format(item['sha'], cname),
            author=item['author'],
            updated=datetime.fromtimestamp(item['time'])
        )

    response = make_response((the_feed.to_string(), {'Content-type': 'application/atom+xml; charset=utf-8'}))
    response.add_etag()
    return response.make_conditional(request)
开发者ID:scragg0x,项目名称:realms-wiki,代码行数:34,代码来源:views.py

示例2: test_feedparser_authors

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def test_feedparser_authors():
    for test in tests:
        if test.skip:
            continue

        feed = AtomFeed(title="Test Feed", feed_url="http://testfeed.com")

        entry = FeedEntry(
            title="Test Entry",
            url="http://testfeed.com/testentry",
            updated=datetime.utcnow(),
            content="Test Entry",
            author=test.namestring,
        )

        feed.entries.append(entry)

        rss = feed.to_string()

        parsed = feedparser.parse(rss)

        assert parsed.entries is not None
        assert len(parsed.entries) == 1

        assert len(parsed.entries[0].authors) == len(test.expected)
开发者ID:DBeath,项目名称:flask-feedrsub,代码行数:27,代码来源:author_parser_test.py

示例3: compute_atom_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def compute_atom_feed(request):
    feed = AtomFeed(
             title     = catonmat_title,
             subtitle  = catonmat_subtitle,
             feed_url  = 'http://www.catonmat.net/feed',
             url       = 'http://www.catonmat.net',
             author    = peteris,
             icon      = 'http://www.catonmat.net/favicon.ico',
             generator = ('catonmat blog', 'http://www.catonmat.net', 'v1.0')
           )

             # TODO: logo='http://www.catonmat.net/)

    pages = session. \
              query(Page). \
              join(Rss). \
              order_by(Rss.publish_date.desc()). \
              limit(config.rss_items). \
              all()

    for page in pages:
        feed.add(title        = page.title,
                 content      = page.parsed_content,
                 content_type = 'html',
                 author       = peteris,
                 url          = 'http://www.catonmat.net' + page.request_path,
                 id           = page.page_id,
                 updated      = page.last_update,
                 published    = page.rss_page.publish_date)

    return feed.to_string()
开发者ID:gobburms,项目名称:catonmat.net,代码行数:33,代码来源:rss.py

示例4: generate_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
    def generate_feed(artifact):
        feed = AtomFeed(
            title=title or 'Feed',
            subtitle=unicode(subtitle or ''),
            subtitle_type=hasattr(subtitle, '__html__') and 'html' or 'text',
            feed_url=feed_url,
            url=embed_url,
            id=get_id(ctx.env.project.id + 'lektor')
        )

        for item in items:
            feed.add(
                get_item_title(item, item_title_field),
                get_item_body(item, item_body_field),
                xml_base=url_to(item, external=True),
                url=url_to(item, external=True),
                content_type='html',
                id=get_id(u'%slektor/%s' % (
                    ctx.env.project.id,
                    item['_path'].encode('utf-8'),
                )),
                author=get_item_author(item, item_author_field),
                updated=get_item_updated(item, item_date_field))

        with artifact.open('wb') as f:
            f.write(feed.to_string().encode('utf-8') + '\n')
开发者ID:micahtaylor,项目名称:lektor-website,代码行数:28,代码来源:lektor_atom_feed_support.py

示例5: build_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def build_feed():
    feed = AtomFeed(current_app.config['SITE_NAME'],
                    feed_url=current_app.config['DOMAIN'] + 'rss.xml',
                    url=current_app.config['DOMAIN'],
                    subtitle=current_app.config['SUBTITLE'],
                    author=current_app.config['AUTHOR'],
                    updated=datetime.datetime.now())

    entries = Entry.get_all_published()

    for _entry in entries:
        time = datetime.datetime.strptime(_entry['date'], '%Y-%m-%d %H:%M:%S')

        feed.add(unicode(_entry['title']),
                 unicode(markdown(_entry['content'])),
                 content_type='html',
                 author=current_app.config['AUTHOR'],
                 published=time,
                 updated=time,
                 id=current_app.config['DOMAIN'] + _entry['slug'] + '/',
                 url=current_app.config['DOMAIN'] + 'posts/' + _entry['slug'] + '/'
                 )

    with codecs.open(BASE_DIR + '/rss.xml', 'w', 'utf-8-sig') as f:
        f.write(feed.to_string())
开发者ID:gaowhen,项目名称:summer,代码行数:27,代码来源:build.py

示例6: feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
 def feed(self, feed_title, title, content, url, published=None, summary=None,
          enclosure=None, media_thumbnail=None):
     feed = AtomFeed(feed_title, feed_url=WP_FEED_URL)
     tz = pytz.timezone(faker.timezone())
     published = published or faker.date_time(tzinfo=tz)
     kwargs = {
         'content_type': 'html',
         'author': faker.name(),
         'url': url,
         'updated': faker.date_time_between(start_date=published, tzinfo=tz),
         'published': published
     }
     if summary:
         kwargs['summary'] = summary
     if enclosure:
         kwargs['links'] = [{
             'type': enclosure['type'],
             'href': enclosure['url'],
             'rel': 'enclosure',
             'length': faker.pyint(),
         }]
     feed.add(title, content, **kwargs)
     out = feed.to_string()
     if media_thumbnail:
         el = '<media:thumbnail url="{0}" />'.format(media_thumbnail)
         out = out.replace('<feed', '<feed xmlns:media="http://search.yahoo.com/mrss/"')
         out = out.replace('</entry>', '{0}</entry>'.format(el))
     return out
开发者ID:etalab,项目名称:udata-gouvfr,代码行数:30,代码来源:tests.py

示例7: build_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def build_feed():
    feed = AtomFeed(SITE_NAME,
                    feed_url=DOMAIN + 'rss.xml',
                    url=DOMAIN,
                    subtitle=SUBTITLE,
                    author=AUTHOR,
                    updated=datetime.datetime.now())

    entries = Entry.get_all_published()

    for _entry in entries:
        time = datetime.datetime.strptime(_entry['date'], '%Y-%m-%d %H:%M:%S')

        feed.add(unicode(_entry['title']),
                 unicode(markdown(_entry['content'])),
                 content_type='html',
                 author=AUTHOR,
                 published=time,
                 updated=time,
                 id=DOMAIN + _entry['slug'] + '/',
                 url=DOMAIN + 'posts/' +  _entry['slug'] + '/'
                 )

    with codecs.open('./ghpages/rss.xml', 'w', 'utf-8-sig') as f:
        f.write(feed.to_string())
开发者ID:killpanda,项目名称:summer,代码行数:27,代码来源:build.py

示例8: build_artifact

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
    def build_artifact(self, artifact):
        ctx = get_ctx()
        feed_source = self.source
        page = feed_source.parent

        feed = AtomFeed(
            title=page.record_label + u' — Pallets Project',
            feed_url=url_to(feed_source, external=True),
            url=url_to('/blog', external=True),
            id=get_id(ctx.env.project.id)
        )

        for item in page.children.order_by(
            '-pub_date', '-pub_order', 'title'
        ).limit(10):
            item_author = item['author']

            feed.add(
                item['title'],
                text_type(item['body']),
                xml_base=url_to(item, external=True),
                url=url_to(item, external=True),
                content_type='html',
                id=get_id(u'%s/%s' % (
                    ctx.env.project.id,
                    item['_path'].encode('utf-8'))),
                author=item_author,
                updated=datetime(*item['pub_date'].timetuple()[:3]))

        with artifact.open('wb') as f:
            f.write(feed.to_string().encode('utf-8'))
开发者ID:Vlad-Shcherbina,项目名称:website,代码行数:33,代码来源:lektor_blog_feed.py

示例9: build_artifact

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
    def build_artifact(self, artifact):
        ctx = get_ctx()
        feed_source = self.source
        blog = feed_source.parent

        summary = get(blog, feed_source.blog_summary_field) or ''
        subtitle_type = ('html' if hasattr(summary, '__html__') else 'text')
        blog_author = unicode(get(blog, feed_source.blog_author_field) or '')
        generator = ('Lektor Atom Plugin',
                     'https://github.com/ajdavis/lektor-atom',
                     pkg_resources.get_distribution('lektor-atom').version)

        project_id = ctx.env.load_config().base_url
        if not project_id:
            project_id = ctx.env.project.id
        feed = AtomFeed(
            title=feed_source.feed_name,
            subtitle=unicode(summary),
            subtitle_type=subtitle_type,
            author=blog_author,
            feed_url=url_to(feed_source, external=True),
            url=url_to(blog, external=True),
            id=get_id(project_id),
            generator=generator)

        if feed_source.items:
            # "feed_source.items" is a string like "site.query('/blog')".
            expr = Expression(ctx.env, feed_source.items)
            items = expr.evaluate(ctx.pad)
        else:
            items = blog.children

        if feed_source.item_model:
            items = items.filter(F._model == feed_source.item_model)

        order_by = '-' + feed_source.item_date_field
        items = items.order_by(order_by).limit(int(feed_source.limit))

        for item in items:
            item_author_field = feed_source.item_author_field
            item_author = get(item, item_author_field) or blog_author

            feed.add(
                get_item_title(item, feed_source.item_title_field),
                get_item_body(item, feed_source.item_body_field),
                xml_base=url_to(item, external=True),
                url=url_to(item, external=True),
                content_type='html',
                id=get_id(u'%s/%s' % (
                    project_id,
                    item['_path'].encode('utf-8'))),
                author=item_author,
                updated=get_item_updated(item, feed_source.item_date_field))

        with artifact.open('wb') as f:
            f.write(feed.to_string().encode('utf-8'))
开发者ID:t73fde,项目名称:lektor-atom,代码行数:58,代码来源:lektor_atom.py

示例10: latest_posts

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def latest_posts():
	feed = AtomFeed('Libcoffee.net', feed_url=request.url, url=request.url_root)
	for p in Post.objects_published().order('-created_at')[:POSTS_PER_PAGE]:
		feed.add(p.title, unicode(p.__html__()),
				content_type='html',
				author=p.author.nickname(),
				url=p.absolute_url(external=True),
				updated=p.updated_at,
				published=p.created_at)
	return Response(feed.to_string(), mimetype='application/atom+xml')
开发者ID:zanglang,项目名称:libcoffee,代码行数:12,代码来源:views.py

示例11: atom_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def atom_feed():
    feed = AtomFeed(current_app.config.get('SITE_NAME', "My Site"),
                    feed_url=request.url, url=request.host_url,
                    subtitle=current_app.config.get('SITE_SUBTITLE', None))
    for post in posts:
        entry = _generate_entry(post)
        feed.add(entry)
    resp = make_response(feed.to_string())
    resp.mimetype = "application/atom+xml"
    return resp
开发者ID:jarus,项目名称:flask-rst,代码行数:12,代码来源:atom.py

示例12: blog_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def blog_feed():
    feed = AtomFeed('Recent Articles',
                    feed_url=request.url, url=request.url_root)
    posts = Blog.query.order_by(Blog.timestamp.desc()).all()
    for post in posts:
        feed.add(post.title, unicode(post.data),
                 content_type='html',
                 url=post.get_url(),
                 updated=post.timestamp)
    return Response(feed.to_string(), mimetype='text/xml')
开发者ID:ritchiewilson,项目名称:rawscripts,代码行数:12,代码来源:flask_blog.py

示例13: render_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def render_feed(ctx, posts):
    base_url = ctx.get('rootpath') + 'feed.xml'
    feed = AtomFeed("My Blog", feed_url=base_url,
                    url=ctx.get('rootpath'),
                    subtitle="My example blog for a feed test.")

    for post in posts[0:10]:
        feed.add(post.get('title'), post.html, content_type='html',
                 author=post.get('author', 'None'), url=base_url + post.url_path, id=base_url + post.url_path,
                 updated=post.get('date'), published=post.get('date'))

    return feed.to_string()
开发者ID:voidfiles,项目名称:blog-test,代码行数:14,代码来源:build.py

示例14: download_atom

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def download_atom():
    feed = AtomFeed(title='Mes bookmarks',
                    feed_url='xxx',
                    url='http://www.markme.com')

    for bookmark in mongo.db.bookmarks.find({'user._id': ObjectId(current_user.get_id())}):
        feed.add(id=bookmark['_id'], title=bookmark['title'], content=bookmark['description'],
                 content_type='text', updated=bookmark['published'],
                 links=[dict(href=bookmark['url']), dict(via=bookmark['referrer'])],
                 categories=[dict(term=tag, label=tag) for tag in bookmark['tags']],
                 author=dict(name=current_user.nickname, nickname=current_user.nickname, email=current_user.email))

    return send_file(StringIO(feed.to_string().encode('utf-8')), attachment_filename='bookmarks.xml', as_attachment=True, mimetype='application/atom+xml')
开发者ID:stephanlascar,项目名称:markme,代码行数:15,代码来源:tools.py

示例15: atom_feed

# 需要导入模块: from werkzeug.contrib.atom import AtomFeed [as 别名]
# 或者: from werkzeug.contrib.atom.AtomFeed import to_string [as 别名]
def atom_feed():
    feeds = current_app.config['FEEDS']

    feed = AtomFeed('The City of Myles', feed_url=request.url,
                    url=request.url_root)

    entries = get_feed_entries(feeds)[:20]

    for entry in entries:
        feed.add(entry.title, entry.description, context_type='html',
                 author=entry.publisher, url=entry.link,
                 published=entry.published, updated=entry.updated)

    return Response(feed.to_string(), mimetype="application/xml")
开发者ID:myles,项目名称:myles.city,代码行数:16,代码来源:frontend.py


注:本文中的werkzeug.contrib.atom.AtomFeed.to_string方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。