aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.coveragerc23
-rw-r--r--.gitignore45
-rw-r--r--AUTHORS.rst5
-rw-r--r--CHANGES.rst4
-rw-r--r--README.md22
-rw-r--r--README.rst36
-rw-r--r--docs/Makefile177
-rw-r--r--docs/_static/.gitignore1
-rw-r--r--docs/authors.rst2
-rw-r--r--docs/changes.rst2
-rw-r--r--docs/conf.py238
-rw-r--r--docs/index.rst45
-rw-r--r--docs/license.rst7
-rw-r--r--requirements.txt3
-rw-r--r--setup.cfg74
-rw-r--r--setup.py24
-rw-r--r--tests/conftest.py12
-rwxr-xr-xyoutube_podcaster/youtube-podcaster (renamed from youtube-podcaster)0
-rw-r--r--youtube_podcaster/youtube-podcaster.json.sample (renamed from youtube-podcaster.json.sample)0
-rw-r--r--youtube_podcaster/youtube/__init__.py (renamed from youtube/__init__.py)0
-rw-r--r--youtube_podcaster/youtube/downloader.py (renamed from youtube/downloader.py)0
-rw-r--r--youtube_podcaster/youtube/youtube.py (renamed from youtube/youtube.py)0
22 files changed, 692 insertions, 28 deletions
diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..142021c
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,23 @@
1# .coveragerc to control coverage.py
2[run]
3branch = True
4source = youtube_podcaster
5# omit = bad_file.py
6
7[report]
8# Regexes for lines to exclude from consideration
9exclude_lines =
10 # Have to re-enable the standard pragma
11 pragma: no cover
12
13 # Don't complain about missing debug-only code:
14 def __repr__
15 if self\.debug
16
17 # Don't complain if tests don't hit defensive assertion code:
18 raise AssertionError
19 raise NotImplementedError
20
21 # Don't complain if non-runnable code isn't run:
22 if 0:
23 if __name__ == .__main__.:
diff --git a/.gitignore b/.gitignore
index 1d7362c..f41c0ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,41 @@
1downloads/ 1# Temporary and binary files
2*~
3*.py[cod]
4*.so
5*.cfg
6!setup.cfg
7*.orig
8*.log
9*.pot
10__pycache__/*
11.cache/*
12.*.swp
2 13
3feeds.save 14# Project files
4youtube-podcaster.json 15.ropeproject
16.project
17.pydevproject
18.settings
19.idea
5 20
6*.pyc 21# Package files
7*.xml 22*.egg
8*.sw? 23*.eggs/
24.installed.cfg
25*.egg-info
26
27# Unittest and coverage
28htmlcov/*
29.coverage
30.tox
31junit.xml
32coverage.xml
33
34# Build and docs folder/files
35build/*
36dist/*
37sdist/*
38docs/api/*
39docs/_build/*
40cover/*
41MANIFEST
diff --git a/AUTHORS.rst b/AUTHORS.rst
new file mode 100644
index 0000000..b4de63b
--- /dev/null
+++ b/AUTHORS.rst
@@ -0,0 +1,5 @@
1==========
2Developers
3==========
4
5* Tom van der Lee <t0m.vd.l33@gmail.com>
diff --git a/CHANGES.rst b/CHANGES.rst
new file mode 100644
index 0000000..889f44c
--- /dev/null
+++ b/CHANGES.rst
@@ -0,0 +1,4 @@
1=========
2Changelog
3=========
4
diff --git a/README.md b/README.md
deleted file mode 100644
index 8028dfd..0000000
--- a/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
1# YouTube Podcaster
2Lets you covert YouTube-playlists to RSS podcast feeds and serve them.
3
4## Features
5* Check playlists on HTTP-request
6* Downloads videos and converts them to Ogg Vorbis files.
7* Serve RSS feed
8
9## What it doesn't do (at the moment)
10* Convert to mp3, mp4 or any other audio/video format
11* Serve the downloaded audio files (needs to be done by an other server)
12
13## Dependencies
14* [youtube-dl](https://github.com/rg3/youtube-dl)
15* [python-feedgen](https://github.com/lkiesow/python-feedgen)
16
17## To do
18* Add comments/documentation
19* Support multiple audio/video formats
20
21## LICENSE
22YouTube Podcaster is licensed under the MIT License, see the LICENSE file for more info.
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..b485fbb
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,36 @@
1YouTube Podcaster
2=================
3
4Lets you covert YouTube-playlists to RSS podcast feeds and serve them.
5
6Features
7--------
8
9- Check playlists on HTTP-request
10- Downloads videos and converts them to Ogg Vorbis files.
11- Serve RSS feed
12
13What it doesn't do (at the moment)
14----------------------------------
15
16- Convert to mp3, mp4 or any other audio/video format
17- Serve the downloaded audio files (needs to be done by an other
18 server)
19
20Dependencies
21------------
22
23- `youtube-dl <https://github.com/rg3/youtube-dl>`__
24- `python-feedgen <https://github.com/lkiesow/python-feedgen>`__
25
26To do
27-----
28
29- Add comments/documentation
30- Support multiple audio/video formats
31
32LICENSE
33-------
34
35YouTube Podcaster is licensed under the MIT License, see the LICENSE
36file for more info.
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..e8b986c
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,177 @@
1# Makefile for Sphinx documentation
2#
3
4# You can set these variables from the command line.
5SPHINXOPTS =
6SPHINXBUILD = sphinx-build
7PAPER =
8BUILDDIR = _build
9
10# User-friendly check for sphinx-build
11ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $?), 1)
12$(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/)
13endif
14
15# Internal variables.
16PAPEROPT_a4 = -D latex_paper_size=a4
17PAPEROPT_letter = -D latex_paper_size=letter
18ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19# the i18n builder cannot share the environment and doctrees with the others
20I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21
22.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
23
24help:
25 @echo "Please use \`make <target>' where <target> is one of"
26 @echo " html to make standalone HTML files"
27 @echo " dirhtml to make HTML files named index.html in directories"
28 @echo " singlehtml to make a single large HTML file"
29 @echo " pickle to make pickle files"
30 @echo " json to make JSON files"
31 @echo " htmlhelp to make HTML files and a HTML help project"
32 @echo " qthelp to make HTML files and a qthelp project"
33 @echo " devhelp to make HTML files and a Devhelp project"
34 @echo " epub to make an epub"
35 @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
36 @echo " latexpdf to make LaTeX files and run them through pdflatex"
37 @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
38 @echo " text to make text files"
39 @echo " man to make manual pages"
40 @echo " texinfo to make Texinfo files"
41 @echo " info to make Texinfo files and run them through makeinfo"
42 @echo " gettext to make PO message catalogs"
43 @echo " changes to make an overview of all changed/added/deprecated items"
44 @echo " xml to make Docutils-native XML files"
45 @echo " pseudoxml to make pseudoxml-XML files for display purposes"
46 @echo " linkcheck to check all external links for integrity"
47 @echo " doctest to run all doctests embedded in the documentation (if enabled)"
48
49clean:
50 rm -rf $(BUILDDIR)/*
51
52html:
53 $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
54 @echo
55 @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
56
57dirhtml:
58 $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
59 @echo
60 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
61
62singlehtml:
63 $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
64 @echo
65 @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
66
67pickle: