setup.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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.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. 'tinydb'
  35. ],
  36. tests_require=['pytest', 'pytest-timeout'],
  37. cmdclass={'test': PyTest},
  38. zip_safe=False,
  39. entry_points={
  40. 'console_scripts': ['larigira=larigira.mpc:main',
  41. 'larigira-timegen=larigira.timegen:main',
  42. 'larigira-audiogen=larigira.audiogen:main'],
  43. 'larigira.audiogenerators': [
  44. 'mpd = larigira.audiogen_mpdrandom:generate_by_artist',
  45. 'static = larigira.audiogen_static:generate',
  46. 'randomdir = larigira.audiogen_randomdir:generate'
  47. ],
  48. 'larigira.timegenerators': [
  49. 'frequency = larigira.timegen_every:FrequencyAlarm',
  50. 'single = larigira.timegen_every:SingleAlarm',
  51. ]
  52. }
  53. )