6 changed files with 341 additions and 0 deletions
Unified View
Diff Options
-
2MANIFEST.in
-
1docs/.gitignore
-
177docs/Makefile
-
71docs/conf.py
-
23docs/index.rst
-
67docs/module_guide.rst
@ -0,0 +1 @@ |
|||||
|
_build/ |
@ -0,0 +1,177 @@ |
|||||
|
# Makefile for Sphinx documentation
|
||||
|
#
|
||||
|
|
||||
|
# You can set these variables from the command line.
|
||||
|
SPHINXOPTS = |
||||
|
SPHINXBUILD = sphinx-build |
||||
|
PAPER = |
||||
|
BUILDDIR = _build |
||||
|
|
||||
|
# User-friendly check for sphinx-build
|
||||
|
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) |
||||
|
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) |
||||
|
endif |
||||
|
|
||||
|
# Internal variables.
|
||||
|
PAPEROPT_a4 = -D latex_paper_size=a4 |
||||
|
PAPEROPT_letter = -D latex_paper_size=letter |
||||
|
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . |
||||
|
# the i18n builder cannot share the environment and doctrees with the others
|
||||
|
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . |
||||
|
|
||||
|
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext |
||||
|
|
||||
|
help: |
||||
|
@echo "Please use \`make <target>' where <target> is one of" |
||||
|
@echo " html to make standalone HTML files" |
||||
|
@echo " dirhtml to make HTML files named index.html in directories" |
||||
|
@echo " singlehtml to make a single large HTML file" |
||||
|
@echo " pickle to make pickle files" |
||||
|
@echo " json to make JSON files" |
||||
|
@echo " htmlhelp to make HTML files and a HTML help project" |
||||
|
@echo " qthelp to make HTML files and a qthelp project" |
||||
|
@echo " devhelp to make HTML files and a Devhelp project" |
||||
|
@echo " epub to make an epub" |
||||
|
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" |
||||
|
@echo " latexpdf to make LaTeX files and run them through pdflatex" |
||||
|
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" |
||||
|
@echo " text to make text files" |
||||
|
@echo " man to make manual pages" |
||||
|
@echo " texinfo to make Texinfo files" |
||||
|
@echo " info to make Texinfo files and run them through makeinfo" |
||||
|
@echo " gettext to make PO message catalogs" |
||||
|
@echo " changes to make an overview of all changed/added/deprecated items" |
||||
|
@echo " xml to make Docutils-native XML files" |
||||
|
@echo " pseudoxml to make pseudoxml-XML files for display purposes" |
||||
|
@echo " linkcheck to check all external links for integrity" |
||||
|
@echo " doctest to run all doctests embedded in the documentation (if enabled)" |
||||
|
|
||||
|
clean: |
||||
|
rm -rf $(BUILDDIR)/* |
||||
|
|
||||
|
html: |
||||
|
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html |
||||
|
@echo |
||||
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." |
||||
|
|
||||
|
dirhtml: |
||||
|
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml |
||||
|
@echo |
||||
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." |
||||
|
|
||||
|
singlehtml: |
||||
|
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml |
||||
|
@echo |
||||
|
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." |
||||
|
|
||||
|
pickle: |
||||
|
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle |
||||
|
@echo |
||||
|
@echo "Build finished; now you can process the pickle files." |
||||
|
|
||||
|
json: |
||||
|
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json |
||||
|
@echo |
||||
|
@echo "Build finished; now you can process the JSON files." |
||||
|
|
||||
|
htmlhelp: |
||||
|
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp |
||||
|
@echo |
||||
|
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
|
".hhp project file in $(BUILDDIR)/htmlhelp." |
||||
|
|
||||
|
qthelp: |
||||
|
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp |
||||
|
@echo |
||||
|
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
|
".qhcp project file in $(BUILDDIR)/qthelp, like this:" |
||||
|
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/youtube-dl.qhcp" |
||||
|
@echo "To view the help file:" |
||||
|
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/youtube-dl.qhc" |
||||
|
|
||||
|
devhelp: |
||||
|
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp |
||||
|
@echo |
||||
|
@echo "Build finished." |
||||
|
@echo "To view the help file:" |
||||
|
@echo "# mkdir -p $$HOME/.local/share/devhelp/youtube-dl" |
||||
|
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/youtube-dl" |
||||
|
@echo "# devhelp" |
||||
|
|
||||
|
epub: |
||||
|
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub |
||||
|
@echo |
||||
|
@echo "Build finished. The epub file is in $(BUILDDIR)/epub." |
||||
|
|
||||
|
latex: |
||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
||||
|
@echo |
||||
|
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." |
||||
|
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
|
"(use \`make latexpdf' here to do that automatically)." |
||||
|
|
||||
|
latexpdf: |
||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
||||
|
@echo "Running LaTeX files through pdflatex..." |
||||
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf |
||||
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." |
||||
|
|
||||
|
latexpdfja: |
||||
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
||||
|
@echo "Running LaTeX files through platex and dvipdfmx..." |
||||
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja |
||||
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." |
||||
|
|
||||
|
text: |
||||
|
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text |
||||
|
@echo |
||||
|
@echo "Build finished. The text files are in $(BUILDDIR)/text." |
||||
|
|
||||
|
man: |
||||
|
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man |
||||
|
@echo |
||||
|
@echo "Build finished. The manual pages are in $(BUILDDIR)/man." |
||||
|
|
||||
|
texinfo: |
||||
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo |
||||
|
@echo |
||||
|
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." |
||||
|
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
|
"(use \`make info' here to do that automatically)." |
||||
|
|
||||
|
info: |
||||
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo |
||||
|
@echo "Running Texinfo files through makeinfo..." |
||||
|
make -C $(BUILDDIR)/texinfo info |
||||
|
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." |
||||
|
|
||||
|
gettext: |
||||
|
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale |
||||
|
@echo |
||||
|
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." |
||||
|
|
||||
|
changes: |
||||
|
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes |
||||
|
@echo |
||||
|
@echo "The overview file is in $(BUILDDIR)/changes." |
||||
|
|
||||
|
linkcheck: |
||||
|
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck |
||||
|
@echo |
||||
|
@echo "Link check complete; look for any errors in the above output " \
|
||||
|
"or in $(BUILDDIR)/linkcheck/output.txt." |
||||
|
|
||||
|
doctest: |
||||
|
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest |
||||
|
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
|
"results in $(BUILDDIR)/doctest/output.txt." |
||||
|
|
||||
|
xml: |
||||
|
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml |
||||
|
@echo |
||||
|
@echo "Build finished. The XML files are in $(BUILDDIR)/xml." |
||||
|
|
||||
|
pseudoxml: |
||||
|
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml |
||||
|
@echo |
||||
|
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." |
@ -0,0 +1,71 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# |
||||
|
# youtube-dl documentation build configuration file, created by |
||||
|
# sphinx-quickstart on Fri Mar 14 21:05:43 2014. |
||||
|
# |
||||
|
# This file is execfile()d with the current directory set to its |
||||
|
# containing dir. |
||||
|
# |
||||
|
# Note that not all possible configuration values are present in this |
||||
|
# autogenerated file. |
||||
|
# |
||||
|
# All configuration values have a default; values that are commented out |
||||
|
# serve to show the default. |
||||
|
|
||||
|
import sys |
||||
|
import os |
||||
|
# Allows to import youtube_dl |
||||
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
||||
|
|
||||
|
# -- General configuration ------------------------------------------------ |
||||
|
|
||||
|
# Add any Sphinx extension module names here, as strings. They can be |
||||
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom |
||||
|
# ones. |
||||
|
extensions = [ |
||||
|
'sphinx.ext.autodoc', |
||||
|
] |
||||
|
|
||||
|
# Add any paths that contain templates here, relative to this directory. |
||||
|
templates_path = ['_templates'] |
||||
|
|
||||
|
# The suffix of source filenames. |
||||
|
source_suffix = '.rst' |
||||
|
|
||||
|
# The master toctree document. |
||||
|
master_doc = 'index' |
||||
|
|
||||
|
# General information about the project. |
||||
|
project = u'youtube-dl' |
||||
|
copyright = u'2014, Ricardo Garcia Gonzalez' |
||||
|
|
||||
|
# The version info for the project you're documenting, acts as replacement for |
||||
|
# |version| and |release|, also used in various other places throughout the |
||||
|
# built documents. |
||||
|
# |
||||
|
# The short X.Y version. |
||||
|
import youtube_dl |
||||
|
version = youtube_dl.__version__ |
||||
|
# The full version, including alpha/beta/rc tags. |
||||
|
release = version |
||||
|
|
||||
|
# List of patterns, relative to source directory, that match files and |
||||
|
# directories to ignore when looking for source files. |
||||
|
exclude_patterns = ['_build'] |
||||
|
|
||||
|
# The name of the Pygments (syntax highlighting) style to use. |
||||
|
pygments_style = 'sphinx' |
||||
|
|
||||
|
# -- Options for HTML output ---------------------------------------------- |
||||
|
|
||||
|
# The theme to use for HTML and HTML Help pages. See the documentation for |
||||
|
# a list of builtin themes. |
||||
|
html_theme = 'default' |
||||
|
|
||||
|
# Add any paths that contain custom static files (such as style sheets) here, |
||||
|
# relative to this directory. They are copied after the builtin static files, |
||||
|
# so a file named "default.css" will overwrite the builtin "default.css". |
||||
|
html_static_path = ['_static'] |
||||
|
|
||||
|
# Output file base name for HTML help builder. |
||||
|
htmlhelp_basename = 'youtube-dldoc' |
@ -0,0 +1,23 @@ |
|||||
|
Welcome to youtube-dl's documentation! |
||||
|
====================================== |
||||
|
|
||||
|
*youtube-dl* is a command-line program to download videos from YouTube.com and more sites. |
||||
|
It can also be used in Python code. |
||||
|
|
||||
|
Developer guide |
||||
|
--------------- |
||||
|
|
||||
|
This section contains information for using *youtube-dl* from Python programs. |
||||
|
|
||||
|
.. toctree:: |
||||
|
:maxdepth: 2 |
||||
|
|
||||
|
module_guide |
||||
|
|
||||
|
Indices and tables |
||||
|
================== |
||||
|
|
||||
|
* :ref:`genindex` |
||||
|
* :ref:`modindex` |
||||
|
* :ref:`search` |
||||
|
|
@ -0,0 +1,67 @@ |
|||||
|
Using the ``youtube_dl`` module |
||||
|
=============================== |
||||
|
|
||||
|
When using the ``youtube_dl`` module, you start by creating an instance of :class:`YoutubeDL` and adding all the available extractors: |
||||
|
|
||||
|
.. code-block:: python |
||||
|
|
||||
|
>>> from youtube_dl import YoutubeDL |
||||
|
>>> ydl = YoutubeDL() |
||||
|
>>> ydl.add_default_info_extractors() |
||||
|
|
||||
|
Extracting video information |
||||
|
---------------------------- |
||||
|
|
||||
|
You use the :meth:`YoutubeDL.extract_info` method for getting the video information, which returns a dictionary: |
||||
|
|
||||
|
.. code-block:: python |
||||
|
|
||||
|
>>> info = ydl.extract_info('http://www.youtube.com/watch?v=BaW_jenozKc', download=False) |
||||
|
[youtube] Setting language |
||||
|
[youtube] BaW_jenozKc: Downloading webpage |
||||
|
[youtube] BaW_jenozKc: Downloading video info webpage |
||||
|
[youtube] BaW_jenozKc: Extracting video information |
||||
|
>>> info['title'] |
||||
|
'youtube-dl test video "\'/\\ä↭𝕐' |
||||
|
>>> info['height'], info['width'] |
||||
|
(720, 1280) |
||||
|
|
||||
|
If you want to download or play the video you can get its url: |
||||
|
|
||||
|
.. code-block:: python |
||||
|
|
||||
|
>>> info['url'] |
||||
|
'https://...' |
||||
|
|
||||
|
Extracting playlist information |
||||
|
------------------------------- |
||||
|
|
||||
|
The playlist information is extracted in a similar way, but the dictionary is a bit different: |
||||
|
|
||||
|
.. code-block:: python |
||||
|
|
||||
|
>>> playlist = ydl.extract_info('http://www.ted.com/playlists/13/open_source_open_world', download=False) |
||||
|
[TED] open_source_open_world: Downloading playlist webpage |
||||
|
... |
||||
|
>>> playlist['title'] |
||||
|
'Open-source, open world' |
||||
|
|
||||
|
|
||||
|
|
||||
|
You can access the videos in the playlist with the ``entries`` field: |
||||
|
|
||||
|
.. code-block:: python |
||||
|
|
||||
|
>>> for video in playlist['entries']: |
||||
|
... print('Video #%d: %s' % (video['playlist_index'], video['title'])) |
||||
|
|
||||
|
Video #1: How Arduino is open-sourcing imagination |
||||
|
Video #2: The year open data went worldwide |
||||
|
Video #3: Massive-scale online collaboration |
||||
|
Video #4: The art of asking |
||||
|
Video #5: How cognitive surplus will change the world |
||||
|
Video #6: The birth of Wikipedia |
||||
|
Video #7: Coding a better government |
||||
|
Video #8: The era of open innovation |
||||
|
Video #9: The currency of the new economy is trust |
||||
|
|
Write
Preview
Loading…
Cancel
Save