setup.py 2.0 KB

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