setup.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import sys
  2. import os
  3. from setuptools import setup
  4. from setuptools.command.test import test as TestCommand
  5. def read(fname):
  6. with open(os.path.join(os.path.dirname(__file__), fname)) as buf:
  7. return buf.read()
  8. class PyTest(TestCommand):
  9. user_options = [('pytest-args=', 'a', "Arguments to pass to py.test")]
  10. def initialize_options(self):
  11. TestCommand.initialize_options(self)
  12. self.pytest_args = []
  13. def finalize_options(self):
  14. TestCommand.finalize_options(self)
  15. self.test_args = []
  16. self.test_suite = True
  17. def run_tests(self):
  18. # import here, cause outside the eggs aren't loaded
  19. import pytest
  20. errno = pytest.main(self.pytest_args)
  21. sys.exit(errno)
  22. setup(name='larigira',
  23. version='0.1',
  24. description='A radio automation based on MPD',
  25. long_description=read('README.rst'),
  26. author='boyska',
  27. author_email='piuttosto@logorroici.org',
  28. license='AGPL',
  29. packages=['larigira'],
  30. install_requires=[
  31. 'gevent',
  32. 'flask',
  33. 'python-mpd2'
  34. ],
  35. tests_require=['pytest', 'pytest-timeout'],
  36. cmdclass={'test': PyTest},
  37. zip_safe=False,
  38. entry_points={
  39. 'console_scripts': ['larigira=larigira.mpc:main',
  40. 'larigira-timegen=larigira.timegen:main',
  41. 'larigira-audiogen=larigira.audiogen:main'],
  42. 'larigira.audiogenerators': [
  43. 'mpd = larigira.audiogen_mpdrandom:generate_by_artist',
  44. 'static = larigira.audiogen_static:generate',
  45. 'randomdir = larigira.audiogen_randomdir:generate'
  46. ],
  47. 'larigira.timegenerators': [
  48. 'frequency = larigira.timegen_every:FrequencyAlarm',
  49. 'single = larigira.timegen_every:SingleAlarm',
  50. ]
  51. }
  52. )