eopayment/setup.py

105 lines
2.8 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python
'''
Setup script for eopayment
'''
import subprocess
import distutils
2011-05-02 09:56:29 +02:00
import distutils.core
import setuptools
from distutils.command.sdist import sdist
2012-01-31 10:59:26 +01:00
from glob import glob
from os.path import splitext, basename, join as pjoin, dirname
2012-01-31 10:59:26 +01:00
import os
from unittest import TextTestRunner, TestLoader
import doctest
2012-01-31 10:59:26 +01:00
2012-01-31 10:59:26 +01:00
class TestCommand(distutils.core.Command):
user_options = []
2012-01-31 10:59:26 +01:00
def initialize_options(self):
self._dir = os.getcwd()
def finalize_options(self):
pass
def run(self):
'''
Finds all the tests modules in tests/, and runs them.
'''
testfiles = []
2012-01-31 10:59:26 +01:00
for t in glob(pjoin(self._dir, 'tests', '*.py')):
if not t.endswith('__init__.py'):
testfiles.append('.'.join(
['tests', splitext(basename(t))[0]])
)
tests = TestLoader().loadTestsFromNames(testfiles)
import eopayment
tests.addTests(doctest.DocTestSuite(eopayment))
t = TextTestRunner(verbosity=4)
2012-01-31 10:59:26 +01:00
t.run(tests)
class eo_sdist(sdist):
def run(self):
print("creating VERSION file")
if os.path.exists('VERSION'):
os.remove('VERSION')
version = get_version()
version_file = open('VERSION', 'w')
version_file.write(version)
version_file.close()
sdist.run(self)
print("removing VERSION file")
if os.path.exists('VERSION'):
os.remove('VERSION')
def get_version():
'''Use the VERSION, if absent generates a version with git describe, if not
tag exists, take 0.0.0- and add the length of the commit log.
'''
if os.path.exists('VERSION'):
with open('VERSION', 'r') as v:
return v.read()
if os.path.exists('.git'):
p = subprocess.Popen(['git', 'describe', '--dirty',
'--match=v*'], stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
result = p.communicate()[0]
if p.returncode == 0:
version = str(result.split()[0][1:])
version = version.replace('-', '.')
return version
return '0.0.0'
setuptools.setup(
name='eopayment',
version=get_version(),
license='GPLv3 or later',
description='Common API to use all French online payment credit card '
'processing services',
long_description=open(
os.path.join(
os.path.dirname(__file__),
'README.txt')).read(),
url='http://dev.entrouvert.org/projects/eopayment/',
author="Entr'ouvert",
author_email="info@entrouvert.com",
maintainer="Benjamin Dauvergne",
maintainer_email="bdauvergne@entrouvert.com",
packages=['eopayment'],
install_requires=[
'pycrypto >= 2.5',
'requests',
'six',
],
2016-11-23 14:35:34 +01:00
cmdclass={
'sdist': eo_sdist,
}
2016-02-01 17:59:01 +01:00
)