forked from hyde/hyde-old
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
86 lines (65 loc) · 2.49 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
from distutils.core import setup, Command
from distutils.command.install_data import install_data
from distutils.command.install import INSTALL_SCHEMES
import sys, os
try:
import py
except ImportError:
py = False
class PyTestCommand(Command):
description = 'Run package tests with py.test'
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
if not py:
print "Tests require py lib: http://codespeak.net/py/dist/download.html"
return
tests = ['tests/%s' % t for t in os.listdir('tests') if t.endswith('.py') and t.startswith('test_')]
# This bit is more or less copied from the py.test runner in py/test/cmdline.py
config = py.test.config
config.parse(tests)
config.pytestplugins.do_configure(config)
session = config.initsession()
exitstatus = session.main()
config.pytestplugins.do_unconfigure(config)
raise SystemExit(exitstatus)
###########################################################
# XXX: Bits from Django's setup.py to fix OSX craziness
class osx_install_data(install_data):
# See Django setup.py for details on why this is here
def finalize_options(self):
self.set_undefined_options('install', ('install_lib', 'install_dir'))
install_data.finalize_options(self)
if sys.platform == "darwin":
cmdclasses = {'install_data': osx_install_data}
else:
cmdclasses = {'install_data': install_data}
for scheme in INSTALL_SCHEMES.values():
scheme['data'] = scheme['purelib']
# XXX: END Bits from Django's setup.py to fix OSX craziness
###########################################################
# Add our test command
cmdclasses['test'] = PyTestCommand
data_files = []
for dirpath, dirnames, filenames in os.walk('hydeengine'):
# Ignore dirnames that start with '.'
for i, dirname in enumerate(dirnames):
if dirname.startswith('.'):
del dirnames[i]
if filenames:
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
setup(
name='hyde',
version='0.3b',
author='Lakshmi Vyas',
author_email='[email protected]',
url='http://www.ringce.com/products/hyde/hyde.html',
description='Static website generator using Django templates',
packages=['hydeengine', 'hydeengine/templatetags'],
scripts=['scripts/hyde.py',],
data_files=data_files,
cmdclass = cmdclasses
)