Fix entry_points

This commit is contained in:
Anthony Sottile
2014-03-13 13:59:45 -07:00
parent eb592046e3
commit 18976b501d
6 changed files with 32 additions and 24 deletions

View File

@@ -57,7 +57,6 @@ def check_is_valid_manifest(file_contents):
)
def run(argv):
parser = argparse.ArgumentParser()
parser.add_argument(

View File

@@ -0,0 +1,23 @@
import functools
import pre_commit.clientlib.validate_manifest
import pre_commit.run
def make_entry_point(entry_point_func):
"""Decorator which turns a function which takes sys.argv[1:] and returns
an integer into an argumentless function which returns an integer.
Args:
entry_point_func - A function which takes an array representing argv
"""
@functools.wraps(entry_point_func)
def func():
import sys
return entry_point_func(sys.argv[1:])
return func
pre_commit_func = make_entry_point(pre_commit.run.run)
validate_manifest_func = make_entry_point(pre_commit.clientlib.validate_manifest.run)

View File

@@ -35,8 +35,8 @@ def run(argv):
args = parser.parse_args(argv)
if args.install:
install()
return install()
elif args.uninstall:
uninstall()
return uninstall()
else:
run_hooks(args)
return run_hooks(args)

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env python
if __name__ == '__main__':
import sys
from pre_commit.run import run
sys.exit(run(sys.argv[1:]))

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env python
if __name__ == '__main__':
import sys
from pre_commit.clientlib.validate_manifest import run
sys.exit(run(sys.argv[1:]))

View File

@@ -12,8 +12,10 @@ setup(
'pyyaml',
'simplejson',
],
scripts=[
'scripts/pre-commit.py',
'scripts/validate-manifest.py',
],
entry_points={
'console_scripts': [
'pre-commit = pre_commit.entry_points:pre_commit_func',
'validate-manifest = pre_commit.entry_points:validate_manifest_func',
],
}
)