Browse Source

New repo skeleton, getting ready for PyPi

main
Filippo Valsorda 9 years ago
parent
commit
cc51a7d4e0
  1. 8
      .gitignore
  2. 3
      MANIFEST.in
  3. 19
      Makefile
  4. 68
      setup.py
  5. 6
      youtube-dl
  6. 14
      youtube-dl.bash-completion
  7. 14
      youtube-dl.bash-completion.in
  8. 2
      youtube_dl/__init__.py
  9. 2
      youtube_dl/version.py

8
.gitignore

@ -4,3 +4,11 @@
wine-py2exe/
py2exe.log
*.kate-swp
build/
dist/
MANIFEST
README.txt
youtube-dl.1
youtube-dl.bash-completion
youtube-dl
youtube-dl.exe

3
MANIFEST.in

@ -0,0 +1,3 @@
include README.md
include test/*.py
include test/*.json

19
Makefile

@ -1,8 +1,8 @@
all: youtube-dl README.md youtube-dl.1 youtube-dl.bash-completion LATEST_VERSION
all: youtube-dl README.md README.txt youtube-dl.1 youtube-dl.bash-completion
# TODO: re-add youtube-dl.exe, and make sure it's 1. safe and 2. doesn't need sudo
clean:
rm -f youtube-dl youtube-dl.exe youtube-dl.1 LATEST_VERSION
rm -rf youtube-dl youtube-dl.exe youtube-dl.1 youtube-dl.bash-completion README.txt MANIFEST build/ dist/
PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
@ -20,8 +20,7 @@ install: youtube-dl youtube-dl.1 youtube-dl.bash-completion
test:
nosetests2 --nocapture test
.PHONY: all clean install test README.md youtube-dl.bash-completion
# TODO un-phony README.md and youtube-dl.bash_completion by reading from .in files and generating from them
.PHONY: all clean install test
youtube-dl: youtube_dl/*.py
zip --quiet youtube-dl youtube_dl/*.py
@ -46,13 +45,13 @@ README.md: youtube_dl/*.py
echo '# CONFIGURATION' >> README.md && \
echo "$${footer}" >> README.md
README.txt: README.md
pandoc -f markdown -t plain README.md -o README.txt
youtube-dl.1: README.md
pandoc -s -w man README.md -o youtube-dl.1
pandoc -f markdown -t man README.md -o youtube-dl.1
youtube-dl.bash-completion: README.md
youtube-dl.bash-completion: README.md youtube-dl.bash-completion.in
@options=`egrep -o '(--[a-z-]+) ' README.md | sort -u | xargs echo` && \
content=`sed "s/opts=\"[^\"]*\"/opts=\"$${options}\"/g" youtube-dl.bash-completion` && \
content=`sed "s/opts=\"[^\"]*\"/opts=\"$${options}\"/g" youtube-dl.bash-completion.in` && \
echo "$${content}" > youtube-dl.bash-completion
LATEST_VERSION: youtube_dl/__init__.py
python -m youtube_dl --version > LATEST_VERSION

68
setup.py

@ -1,31 +1,13 @@
from distutils.core import setup, Command
from distutils.core import setup
import pkg_resources
import sys
try:
import py2exe
except ImportError:
sys.stderr.write("Cannot import py2exe")
import subprocess
"""The p2exe option will create an exe that needs Microsoft Visual C++ 2008 Redistributable Package.
python setup.py py2exe
You can also build a zip executable with
python setup.py bdist --format=zip
The test suite can be run with
python setup.py test
The actual version is defined by the last git tag
"""
print >> sys.stderr, "Cannot import py2exe"
# If run without args, build executables
#if len(sys.argv) == 1:
# sys.argv.append("py2exe")
# os.chdir(os.path.dirname(os.path.abspath(sys.argv[0]))) # conflict with wine-py2exe.sh
#sys.path.append('./youtube_dl')
options = {
py2exe_options = {
"bundle_files": 1,
"compressed": 1,
"optimize": 2,
@ -33,33 +15,29 @@ options = {
"dll_excludes": ['w9xpopen.exe']
}
console = [{
py2exe_console = [{
"script":"./youtube_dl/__main__.py",
"dest_base": "youtube-dl",
}]
init_file = open('./youtube_dl/__init__.py')
execfile('youtube_dl/version.py')
try:
#return the last tag name
version = subprocess.checkoutput(["git", "describe", "--abbrev=0", "--tags"])
except:
version = ''
setup(
name = 'youtube_dl',
version = __version__,
description = 'Small command-line program to download videos from YouTube.com and other video sites',
url = 'https://github.com/rg3/youtube-dl',
author = 'Ricardo Garcia',
maintainer = 'Philipp Hagemeister',
maintainer_email = 'phihag@phihag.de',
packages = ['youtube_dl'],
setup(name='youtube-dl',
version=version,
long_description='Small command-line program to download videos from YouTube.com and other video sites',
url='https://github.com/rg3/youtube-dl',
packages=['youtube_dl'],
#test suite
test_suite='nose.collector',
test_requires=['nosetest'],
console=console,
options={"py2exe": options},
scripts=['bin/youtube-dl'],
zipfile=None,
)
test_suite = 'nose.collector',
test_requires = ['nosetest'],
#import shutil
#shutil.rmtree("build")
console = py2exe_console,
options = { "py2exe": py2exe_options },
scripts = ['bin/youtube-dl'],
zipfile = None,
)

6
youtube-dl

@ -1,6 +0,0 @@
#!/usr/bin/env python
import youtube_dl
if __name__ == '__main__':
youtube_dl.main()

14
youtube-dl.bash-completion

@ -1,14 +0,0 @@
__youtube-dl()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
opts="--all-formats --audio-format --audio-quality --auto-number --batch-file --buffer-size --console-title --continue --cookies --dump-user-agent --extract-audio --format --get-description --get-filename --get-format --get-thumbnail --get-title --get-url --help --id --ignore-errors --keep-video --list-extractors --list-formats --literal --match-title --max-downloads --max-quality --netrc --no-continue --no-mtime --no-overwrites --no-part --no-progress --no-resize-buffer --output --password --playlist-end --playlist-start --prefer-free-formats --quiet --rate-limit --reject-title --restrict-filenames --retries --simulate --skip-download --srt-lang --title --update --user-agent --username --verbose --version --write-description --write-info-json --write-srt"
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F __youtube-dl youtube-dl

14
youtube-dl.bash-completion.in

@ -0,0 +1,14 @@
__youtube-dl()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
opts=""
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F __youtube-dl youtube-dl

2
youtube_dl/__init__.py

@ -23,7 +23,6 @@ __authors__ = (
)
__license__ = 'Public Domain'
__version__ = '2012.11.29'
UPDATE_URL = 'https://raw.github.com/rg3/youtube-dl/master/youtube-dl'
UPDATE_URL_VERSION = 'https://raw.github.com/rg3/youtube-dl/master/LATEST_VERSION'
@ -41,6 +40,7 @@ import sys
import warnings
from .utils import *
from .version import __version__
from .FileDownloader import *
from .InfoExtractors import *
from .PostProcessor import *

2
youtube_dl/version.py

@ -0,0 +1,2 @@
__version__ = '2012.11.29'
Loading…
Cancel
Save