Compare commits
70 Commits
2011.09.17
...
2011.11.23
Author | SHA1 | Date | |
---|---|---|---|
|
fa2672f9fc | ||
|
28e3614bc0 | ||
|
208e095f72 | ||
|
0ae7abe57c | ||
|
dc0a294a73 | ||
|
468c99257c | ||
|
af8e8d63f9 | ||
|
e092418d8b | ||
|
e33e3045c6 | ||
|
cb6568bf21 | ||
|
235b3ba479 | ||
|
5b3330e0cf | ||
|
aab771fbdf | ||
|
00f95a93f5 | ||
|
1724e7c461 | ||
|
3b98a5ddac | ||
|
8b59cc93d5 | ||
|
c3e4e7c182 | ||
|
38348005b3 | ||
|
208c4b9128 | ||
|
ec574c2c41 | ||
|
871be928a8 | ||
|
b20d4f8626 | ||
|
073d7a5985 | ||
|
40306424b1 | ||
|
ecb3bfe543 | ||
|
abeac45abe | ||
|
0fca93ac60 | ||
|
857e5f329a | ||
|
053419cd24 | ||
|
99e207bab0 | ||
|
0067bbe7a7 | ||
|
45aa690868 | ||
|
beb245e92f | ||
|
c424df0d2f | ||
|
87929e4b35 | ||
|
d76736fc5e | ||
|
0f9b77223e | ||
|
9f47175a40 | ||
|
a1a8713aad | ||
|
6501a06d46 | ||
|
8d89fbae5a | ||
|
7a2cf5455c | ||
|
7125a7ca8b | ||
|
54d47874f7 | ||
|
2761012f69 | ||
|
3de2a1e635 | ||
|
1eff9ac0c5 | ||
|
54f329fe93 | ||
|
9baa2ef53b | ||
|
6bde5972c3 | ||
|
36f6cb369b | ||
|
b845d58b04 | ||
|
efb113c736 | ||
|
3ce59dae88 | ||
|
f0b0caa3fa | ||
|
58384838c3 | ||
|
abb870d1ad | ||
|
daa982bc01 | ||
|
767414a292 | ||
|
7b417b388a | ||
|
44424ceee9 | ||
|
08a5b7f800 | ||
|
1cde6f1d52 | ||
|
2d8acd8039 | ||
|
67035ede49 | ||
|
eb6c37da43 | ||
|
2736595628 | ||
|
7b1a2bbe17 | ||
|
c25303c3d5 |
@@ -1 +1 @@
|
|||||||
2011.09.17
|
2011.11.23
|
||||||
|
11
Makefile
11
Makefile
@@ -1,12 +1,12 @@
|
|||||||
default: update
|
default: update
|
||||||
|
|
||||||
update: update-readme update-latest
|
update: compile update-readme update-latest
|
||||||
|
|
||||||
update-latest:
|
update-latest:
|
||||||
./youtube-dl --version > LATEST_VERSION
|
./youtube-dl.dev --version > LATEST_VERSION
|
||||||
|
|
||||||
update-readme:
|
update-readme:
|
||||||
@options=$$(COLUMNS=80 ./youtube-dl --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/### \1/') && \
|
@options=$$(COLUMNS=80 ./youtube-dl.dev --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/### \1/') && \
|
||||||
header=$$(sed -e '/.*## OPTIONS/,$$ d' README.md) && \
|
header=$$(sed -e '/.*## OPTIONS/,$$ d' README.md) && \
|
||||||
footer=$$(sed -e '1,/.*## FAQ/ d' README.md) && \
|
footer=$$(sed -e '1,/.*## FAQ/ d' README.md) && \
|
||||||
echo "$${header}" > README.md && \
|
echo "$${header}" > README.md && \
|
||||||
@@ -15,6 +15,7 @@ update-readme:
|
|||||||
echo -e '\n## FAQ' >> README.md && \
|
echo -e '\n## FAQ' >> README.md && \
|
||||||
echo "$${footer}" >> README.md
|
echo "$${footer}" >> README.md
|
||||||
|
|
||||||
|
compile:
|
||||||
|
cp youtube_dl/__init__.py youtube-dl
|
||||||
|
|
||||||
|
.PHONY: default compile update update-latest update-readme
|
||||||
.PHONY: default update update-latest update-readme
|
|
||||||
|
11
README.md
11
README.md
@@ -33,13 +33,17 @@ which means you can modify it, redistribute it or use it however you like.
|
|||||||
-t, --title use title in file name
|
-t, --title use title in file name
|
||||||
-l, --literal use literal title in file name
|
-l, --literal use literal title in file name
|
||||||
-A, --auto-number number downloaded files starting from 00000
|
-A, --auto-number number downloaded files starting from 00000
|
||||||
-o, --output TEMPLATE output filename template
|
-o, --output TEMPLATE output filename template. Use %(stitle)s to get the
|
||||||
|
title, %(uploader)s for the uploader name,
|
||||||
|
%(autonumber)s to get an automatically incremented
|
||||||
|
number, %(ext)s for the filename extension, and %%
|
||||||
|
for a literal percent
|
||||||
-a, --batch-file FILE file containing URLs to download ('-' for stdin)
|
-a, --batch-file FILE file containing URLs to download ('-' for stdin)
|
||||||
-w, --no-overwrites do not overwrite files
|
-w, --no-overwrites do not overwrite files
|
||||||
-c, --continue resume partially downloaded files
|
-c, --continue resume partially downloaded files
|
||||||
--no-continue do not resume partially downloaded files (restart
|
--no-continue do not resume partially downloaded files (restart
|
||||||
from beginning)
|
from beginning)
|
||||||
--cookies FILE file to dump cookie jar to
|
--cookies FILE file to read cookies from and dump cookie jar in
|
||||||
--no-part do not use .part files
|
--no-part do not use .part files
|
||||||
--no-mtime do not use the Last-modified header to set the file
|
--no-mtime do not use the Last-modified header to set the file
|
||||||
modification time
|
modification time
|
||||||
@@ -64,6 +68,7 @@ which means you can modify it, redistribute it or use it however you like.
|
|||||||
-f, --format FORMAT video format code
|
-f, --format FORMAT video format code
|
||||||
--all-formats download all available video formats
|
--all-formats download all available video formats
|
||||||
--max-quality FORMAT highest quality format to download
|
--max-quality FORMAT highest quality format to download
|
||||||
|
-F, --list-formats list all available formats (currently youtube only)
|
||||||
|
|
||||||
### Authentication Options:
|
### Authentication Options:
|
||||||
-u, --username USERNAME account username
|
-u, --username USERNAME account username
|
||||||
@@ -73,7 +78,7 @@ which means you can modify it, redistribute it or use it however you like.
|
|||||||
### Post-processing Options:
|
### Post-processing Options:
|
||||||
--extract-audio convert video files to audio-only files (requires
|
--extract-audio convert video files to audio-only files (requires
|
||||||
ffmpeg and ffprobe)
|
ffmpeg and ffprobe)
|
||||||
--audio-format FORMAT "best", "aac" or "mp3"; best by default
|
--audio-format FORMAT "best", "aac", "vorbis" or "mp3"; best by default
|
||||||
--audio-quality QUALITY ffmpeg audio bitrate specification, 128k by default
|
--audio-quality QUALITY ffmpeg audio bitrate specification, 128k by default
|
||||||
-k, --keep-video keeps the video file on disk after the post-
|
-k, --keep-video keeps the video file on disk after the post-
|
||||||
processing; the video is erased by default
|
processing; the video is erased by default
|
||||||
|
29
test/test_div.py
Normal file
29
test/test_div.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Various small unit tests
|
||||||
|
|
||||||
|
import os,sys
|
||||||
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
|
||||||
|
import youtube_dl
|
||||||
|
|
||||||
|
def test_simplify_title():
|
||||||
|
assert youtube_dl._simplify_title(u'abc') == u'abc'
|
||||||
|
assert youtube_dl._simplify_title(u'abc_d-e') == u'abc_d-e'
|
||||||
|
|
||||||
|
assert youtube_dl._simplify_title(u'123') == u'123'
|
||||||
|
|
||||||
|
assert u'/' not in youtube_dl._simplify_title(u'abc/de')
|
||||||
|
assert u'abc' in youtube_dl._simplify_title(u'abc/de')
|
||||||
|
assert u'de' in youtube_dl._simplify_title(u'abc/de')
|
||||||
|
assert u'/' not in youtube_dl._simplify_title(u'abc/de///')
|
||||||
|
|
||||||
|
assert u'\\' not in youtube_dl._simplify_title(u'abc\\de')
|
||||||
|
assert u'abc' in youtube_dl._simplify_title(u'abc\\de')
|
||||||
|
assert u'de' in youtube_dl._simplify_title(u'abc\\de')
|
||||||
|
|
||||||
|
assert youtube_dl._simplify_title(u'ä') == u'ä'
|
||||||
|
assert youtube_dl._simplify_title(u'кириллица') == u'кириллица'
|
||||||
|
|
||||||
|
# Strip underlines
|
||||||
|
assert youtube_dl._simplify_title(u'\'a_') == u'a'
|
627
youtube-dl
627
youtube-dl
File diff suppressed because it is too large
Load Diff
6
youtube-dl.dev
Executable file
6
youtube-dl.dev
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import youtube_dl
|
||||||
|
|
||||||
|
youtube_dl.main()
|
4188
youtube_dl/__init__.py
Executable file
4188
youtube_dl/__init__.py
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user