New repo skeleton, getting ready for PyPi

This commit is contained in:
Filippo Valsorda 2012-11-29 16:51:55 +01:00
parent 8192ebe1f8
commit cc51a7d4e0
9 changed files with 61 additions and 77 deletions

8
.gitignore vendored
View file

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

3
MANIFEST.in Normal file
View file

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

View file

@ -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 # TODO: re-add youtube-dl.exe, and make sure it's 1. safe and 2. doesn't need sudo
clean: 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 PREFIX=/usr/local
BINDIR=$(PREFIX)/bin BINDIR=$(PREFIX)/bin
@ -20,8 +20,7 @@ install: youtube-dl youtube-dl.1 youtube-dl.bash-completion
test: test:
nosetests2 --nocapture test nosetests2 --nocapture test
.PHONY: all clean install test README.md youtube-dl.bash-completion .PHONY: all clean install test
# TODO un-phony README.md and youtube-dl.bash_completion by reading from .in files and generating from them
youtube-dl: youtube_dl/*.py youtube-dl: youtube_dl/*.py
zip --quiet 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 '# CONFIGURATION' >> README.md && \
echo "$${footer}" >> 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 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` && \ @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 echo "$${content}" > youtube-dl.bash-completion
LATEST_VERSION: youtube_dl/__init__.py
python -m youtube_dl --version > LATEST_VERSION

View file

@ -1,31 +1,13 @@
from distutils.core import setup, Command from distutils.core import setup
import pkg_resources
import sys import sys
try: try:
import py2exe import py2exe
except ImportError: except ImportError:
sys.stderr.write("Cannot import py2exe") print >> sys.stderr, "Cannot import py2exe"
import subprocess
"""The p2exe option will create an exe that needs Microsoft Visual C++ 2008 Redistributable Package. py2exe_options = {
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
"""
# 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 = {
"bundle_files": 1, "bundle_files": 1,
"compressed": 1, "compressed": 1,
"optimize": 2, "optimize": 2,
@ -33,33 +15,29 @@
"dll_excludes": ['w9xpopen.exe'] "dll_excludes": ['w9xpopen.exe']
} }
console = [{ py2exe_console = [{
"script":"./youtube_dl/__main__.py", "script":"./youtube_dl/__main__.py",
"dest_base": "youtube-dl", "dest_base": "youtube-dl",
}] }]
init_file = open('./youtube_dl/__init__.py') execfile('youtube_dl/version.py')
try: setup(
#return the last tag name name = 'youtube_dl',
version = subprocess.checkoutput(["git", "describe", "--abbrev=0", "--tags"]) version = __version__,
except: description = 'Small command-line program to download videos from YouTube.com and other video sites',
version = '' 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', test_suite = 'nose.collector',
version=version, test_requires = ['nosetest'],
long_description='Small command-line program to download videos from YouTube.com and other video sites',
url='https://github.com/rg3/youtube-dl', console = py2exe_console,
packages=['youtube_dl'], options = { "py2exe": py2exe_options },
#test suite
test_suite='nose.collector', scripts = ['bin/youtube-dl'],
test_requires=['nosetest'], zipfile = None,
console=console,
options={"py2exe": options},
scripts=['bin/youtube-dl'],
zipfile=None,
) )
#import shutil
#shutil.rmtree("build")

View file

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

View file

@ -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

View file

@ -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

View file

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

2
youtube_dl/version.py Normal file
View file

@ -0,0 +1,2 @@
__version__ = '2012.11.29'