grooveondemand/groove/cli.py
2022-11-20 09:28:00 -08:00

48 lines
963 B
Python

import logging
import os
import typer
from dotenv import load_dotenv
from groove import webserver
from groove.db.manager import database_manager
app = typer.Typer()
def initialize():
load_dotenv()
debug = os.getenv('DEBUG', None)
logging.basicConfig(format='%(asctime)s - %(message)s',
level=logging.DEBUG if debug else logging.INFO)
@app.command()
def server(
host: str = typer.Argument(
'0.0.0.0',
help="bind address",
),
port: int = typer.Argument(
2323,
help="bind port",
),
debug: bool = typer.Option(
False,
help='Enable debugging output'
),
):
"""
Start the Groove on Demand playlsit server.
"""
print("Starting Groove On Demand...")
initialize()
with database_manager as manager:
manager.import_from_filesystem()
webserver.start(host=host, port=port, debug=debug)
if __name__ == '__main__':
app()