This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

OEmbed anything.

Project Description

feincms-oembed converts standard URLs from more than 200 content providers into embedded videos, images and rich article previews by letting Embedly or another OEmbed provider to the hard work.

It’s stunningly simple to use:

  1. Add 'feincms_oembed' to INSTALLED_APPS.

  2. Create the content type:

    from feincms.module.page.models import Page
    from feincms_oembed.contents import OembedContent
    
    TYPE_CHOICES = [
        ('default', _('Default presentation'), {
            'maxwidth': 500, 'maxheight': 300, 'wmode': 'opaque'}),
        ('transparent', _('Transparent'), {
            'maxwidth': 500, 'maxheight': 300, 'wmode': 'transparent'}),
        ]
    
    Page.create_content_type(OembedContent, TYPE_CHOICES=TYPE_CHOICES)
    

You can also specify additional parameters which are sent to the OEmbed provider too:

Page.create_content_type(OembedContent, TYPE_CHOICES=TYPE_CHOICES,
    PARAMS={'wmode': 'opaque'})

By default feincms_oembed uses the Embedly Oembed Provider. This provider requires an API key even for the free plan. settings.EMBEDLY_KEY must therefore be set. The free plan is good for 5000 URLs per month.

If you want to customize the Embedly request or use another OEmbed provider, set settings.OEMBED_PROVIDER to a function receiving the URL and a dict with additional arguments and returning a suitable URL which returns OEmbed JSON on access. OEMBED_PROVIDER must either be a dotted python path or a callable:

from feincms_oembed.providers import embedly_oembed_provider
def my_provider(url, kwargs):
    kwargs['wmode'] = 'opaque'
    return embedly_oembed_provider(url, kwargs)

OEMBED_PROVIDER = 'path.to.module.my_provider'
# OEMBED_PROVIDER = my_provider # The function can be used too, not only
                                # the dotted python path.

The content is looking for templates in the following order in the folder content/external/:

  1. type of the embedded object (e.g. ‘video’) + .html
  2. type of the content type (e.g. ‘transparent’) + .html
  3. default.html

If you don’t want any surprises with blocked access to Embedly it is suggested that you register for a free API key.

Using the FeedContent

If you want to use the FeedContent, make sure you have feedparser in your Python path.

Release History

Release History

This version
History Node

1.4.0

History Node

1.3.3

History Node

1.3.2

History Node

1.3.1

History Node

1.3.0

History Node

1.2.0

History Node

1.1.0

History Node

1.0.1

History Node

1.0.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
feincms_oembed-1.4.0-py2.py3-none-any.whl (16.1 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Jun 6, 2017
feincms-oembed-1.4.0.tar.gz (10.7 kB) Copy SHA256 Checksum SHA256 Source Jun 6, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting