https://github.com/fhcrc/deenurp
Tip revision: 9e32314c342d86cf3fe98c44d88eaf8157db0302 authored by Chris Rosenthal on 10 August 2015, 18:32:28 UTC
Merge pull request #30 from fhcrc/deenurp_issue27
Merge pull request #30 from fhcrc/deenurp_issue27
Tip revision: 9e32314
setup.py
import subprocess
import os
import sys
import re
import logging
subprocess.call(
('mkdir -p deenurp/data && '
'git describe --tags --dirty > deenurp/data/ver.tmp'
'&& mv deenurp/data/ver.tmp deenurp/data/ver '
'|| rm -f deenurp/data/ver.tmp'),
shell=True, stderr=open(os.devnull, "w"))
from deenurp import __version__
# set up logging
vflag = ([f for f in sys.argv if re.search('^-v{1,4}', f)] or ['-'])[0]
loglevel = {'-v': logging.INFO, '--v': logging.DEBUG}.get(vflag, logging.WARNING)
logformat = '%(levelname)s %(module)s %(lineno)s %(message)s' \
if loglevel < logging.WARNING else '%(message)s'
logging.basicConfig(file=sys.stdout, format=logformat, level=loglevel)
# Fix for `setup.py test`
# See http://bugs.python.org/issue15881
try:
import multiprocessing
from concurrent import futures
except ImportError:
pass
try:
from setuptools import setup, find_packages, Command
except ImportError:
from distribute_setup import use_setuptools
use_setuptools()
from setuptools import setup, find_packages, Command
class run_audit(Command):
"""Audits source code using PyFlakes for following issues:
- Names which are used but not defined or used before they are defined.
- Names which are redefined without having been used.
"""
description = "Audit source code with PyFlakes"
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
try:
import pyflakes.scripts.pyflakes as flakes
except ImportError:
print "Audit requires PyFlakes installed in your system."
sys.exit(-1)
warns = 0
# Define top-level directories
dirs = 'deenurp',
for dir in dirs:
for root, _, files in os.walk(dir):
for file in files:
if file != '__init__.py' and file.endswith('.py'):
warns += flakes.checkPath(os.path.join(root, file))
if warns > 0:
print "Audit finished with total %d warnings." % warns
else:
print "No problems found in sourcecode."
install_requires = []
setup(name='deenurp',
version=__version__,
package_data={'deenurp': ['data/*', 'test/data/*']},
entry_points={'console_scripts': {'deenurp = deenurp.scripts.deenurp:main'}},
install_requires=install_requires,
cmdclass={'audit': run_audit},
test_suite='deenurp.test.suite',
packages=find_packages())