Skip to main content

Generate responsive, embeddable HTML/JS code from URL of online content

Project description

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://kmonsoor.mit-license.org/)
[![PyPI version](https://badge.fury.io/py/embedX.svg)](https://badge.fury.io/py/embedX)
[![Code Issues](https://www.quantifiedcode.com/api/v1/project/69f2bf7e3b404e6c90015053e48a1cbf/badge.svg)](https://www.quantifiedcode.com/app/project/69f2bf7e3b404e6c90015053e48a1cbf)

# embedX

Generate embeddable HTML or JavaScript code for a online content from its URL in a single step.

The content can be anything like

* Youtube or Vimeo video,
* Twitter status,
* Github Gist,
etc.


Embeddable code-generation be simple like this:

>>> from embed_x import OnlineContent
>>> oc = OnlineContent('http://www.youtube.com/embed/_lOT2p_FCvA')
>>> oc.get_embed_code()
"<div class='embedx-yt'><iframe src='http://www.youtube.com/embed/_lOT2p_FCvA' 'frameborder='0' allowfullscreen></iframe></div>"



### Currently, supports

* Youtube video,
* Vimeo video,
* Twitter: single status,
* Github gist,
* Flickr image



### Examples of URLs

#### Valid

* http://youtu.be/_lOT2p_FCvA
* www.youtube.com/watch?v=_lOT2p_FCvA&feature=feedu
* http://www.youtube.com/embed/_lOT2p_FCvA
* https://www.youtube.com/watch?v=rTHlyTphWP0&index=6&list=PLjeDyYvG6-40qawYNR4juzvSOg-ezZ2a6
* youtube.com/watch?v=_lOT2p_FCvA
* https://vimeo.com/groups/animation/videos/150618894/
* https://vimeo.com/150519302
* https://twitter.com/codinghorror/status/686254714938200064
*

#### Invalid:

* youtu.be/watch?v=_lOT2p_FCvA [ because Youtube don't give any url like this ]
* https://twitter.com/gvanrossum/with_replies
*



## Install

### from PyPI

pip install embedx

### Directly from source

pip install git+https://github.com/kmonsoor/embedX.git

## Requirements

This library don't have any external dependencies other than standard Python installation.


## Usage

>>> from embedx import OnlineContent
>>> oc = OnlineContent('http://www.youtube.com/embed/_lOT2p_FCvA')
>>> oc.extract_id()
'_lOT2p_FCvA'

>>> oc.get_embed_code()
"<div class='embed-container'><iframe src='http://www.youtube.com/embed/_lOT2p_FCvA' 'frameborder='0'allowfullscreen></iframe></div>"

>>> oc = OnlineContent('https://vimeo.com/groups/animation/videos/150618894/')
>>> oc.get_embed_code()
"<div class='embed-container'> <iframe src='http://player.vimeo.com/video/150618894' frameborder='0' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div>"



## To-do

* Create test cases for automated testing
* Provision Travis-CI for automatic building & testing
* Add support for [conda](http://conda.pydata.org/docs/index.html)-based installation
* Add more rich-content sites

- [x] Github gists
- [ ] Facebook status
- [ ] Facebook notes
- [ ] Scribd docs
- [ ] Imgur images


## Contributors

* Seed idea : [A StackOverflow answer](http://stackoverflow.com/a/7936523) by [Mikhail Kashkin](http://stackoverflow.com/users/85739/mikhail-kashkin)
* Author : [Khaled Monsoor](http://github.com/kmonsoor)
*

Please try to contribute by submitting more content-sites with their different link formats and embed-codes. You can submit through pull-requests or by creating issue.

Project details


Download files

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

Source Distribution

embedx-0.0.7.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

embedx-0.0.7-py2.py3-none-any.whl (8.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file embedx-0.0.7.tar.gz.

File metadata

  • Download URL: embedx-0.0.7.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for embedx-0.0.7.tar.gz
Algorithm Hash digest
SHA256 7e329c0af0fa927ef9b53e7fdb153d621249b0462581c4a46d8faa063be76a2e
MD5 9946b36121313538c9c07b3cd40d3562
BLAKE2b-256 0a0ed29b5c9727c9e5d516a23d771a5c083a78256095195a9db49e6e05613fd6

See more details on using hashes here.

File details

Details for the file embedx-0.0.7-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for embedx-0.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c839247eb29f61b0646f6f8dcdbcd79c305bc775b415be6af796c2e81560336e
MD5 128d405e2111099572c32f8064678f8f
BLAKE2b-256 cb43e4e41f23e822c913003b7a0814d3b6514ed19c66eea180220232cab031ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page