larigira/setup.py
2020-04-23 15:27:17 +02:00

117 lines
4 KiB
Python

import os
import sys
from setuptools import setup
from setuptools.command.test import test as TestCommand
def read(fname):
with open(os.path.join(os.path.dirname(__file__), fname)) as buf:
return buf.read()
class PyTest(TestCommand):
user_options = [("pytest-args=", "a", "Arguments to pass to py.test")]
def initialize_options(self):
TestCommand.initialize_options(self)
self.pytest_args = []
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
# import here, cause outside the eggs aren't loaded
import pytest
errno = pytest.main(self.pytest_args)
sys.exit(errno)
setup(
name="larigira",
version="1.3.1",
description="A radio automation based on MPD",
long_description=read("README.rst"),
long_description_content_type="text/x-rst",
author="boyska",
author_email="piuttosto@logorroici.org",
license="AGPL",
packages=["larigira", "larigira.dbadmin", "larigira.filters"],
install_requires=[
"Babel==2.6.0",
"Flask-Babel==0.12.2",
"pyxdg",
"gevent",
"flask-bootstrap",
"python-mpd2",
"wtforms",
"Flask-WTF",
"flask==0.11",
"pytimeparse",
"croniter==0.3.29",
"werkzeug==0.14.1",
"tinydb",
],
tests_require=["pytest-timeout==1.0", "py>=1.4.29", "pytest==3.0"],
python_requires=">=3.5",
extras_require={"percentwait": ["mutagen"]},
cmdclass={"test": PyTest},
zip_safe=False,
include_package_data=True,
entry_points={
"console_scripts": [
"larigira=larigira.larigira:main",
"larigira-timegen=larigira.timegen:main",
"larigira-audiogen=larigira.audiogen:main",
"larigira-dbmanage=larigira.event_manage:main",
],
"larigira.audiogenerators": [
"mpd = larigira.audiogen_mpdrandom:generate_by_artist",
"static = larigira.audiogen_static:generate",
"http = larigira.audiogen_http:generate",
"randomdir = larigira.audiogen_randomdir:generate",
"mostrecent = larigira.audiogen_mostrecent:generate",
"script = larigira.audiogen_script:generate",
],
"larigira.timegenerators": [
"frequency = larigira.timegen_every:FrequencyAlarm",
"single = larigira.timegen_every:SingleAlarm",
"cron = larigira.timegen_cron:CronAlarm",
],
"larigira.timeform_create": [
"single = larigira.timeform_base:SingleAlarmForm",
"frequency = larigira.timeform_base:FrequencyAlarmForm",
"cron = larigira.timeform_cron:CronAlarmForm",
],
"larigira.timeform_receive": [
"single = larigira.timeform_base:singlealarm_receive",
"frequency = larigira.timeform_base:frequencyalarm_receive",
"cron = larigira.timeform_cron:cronalarm_receive",
],
"larigira.audioform_create": [
"static = larigira.audioform_static:StaticAudioForm",
"http = larigira.audioform_http:AudioForm",
"script = larigira.audioform_script:ScriptAudioForm",
"randomdir = larigira.audioform_randomdir:Form",
"mostrecent = larigira.audioform_mostrecent:AudioForm",
],
"larigira.audioform_receive": [
"static = larigira.audioform_static:staticaudio_receive",
"http = larigira.audioform_http:audio_receive",
"script = larigira.audioform_script:scriptaudio_receive",
"randomdir = larigira.audioform_randomdir:receive",
"mostrecent = larigira.audioform_mostrecent:audio_receive",
],
"larigira.eventfilter": [
"maxwait = larigira.filters:maxwait",
"percentwait = larigira.filters:percentwait",
],
},
classifiers=[
"License :: OSI Approved :: GNU Affero General Public License v3",
"Programming Language :: Python :: 3",
],
)