Files
MusicPlayer/yjmpd-c#/yjdaemon/maindaemon.py
T
2015-11-02 20:32:33 +01:00

61 lines
1.7 KiB
Python

import sys
import os
import configparser
from yjdaemon.Database import Database
from yjdaemon.libraryscanner import LibraryScanner
from yjdaemon.yjmpd import YJMPD
from yjdaemon.HTTPServer import HTTPServerThread
debug = False
config = configparser.ConfigParser()
try:
config.read("../config.cfg")
HTTP_PORT = int(config.get("HTTP", "port"))
DAEMON_PORT = int(config.get("Daemon", "port"))
MUSIC_DIR = str(config.get("Library", "jancodir"))
DB_USERNAME = config.get("Database", "username")
DB_PASSWORD = config.get("Database", "password")
DB_HOST = config.get("Database", "host")
DB_DATABASE = config.get("Database", "database")
DB_PORT = config.getint("Database", "port")
except Exception as e:
print(e.with_traceback())
sys.exit(1)
class MainDaemon(YJMPD):
def run(self):
HTTP_thread = HTTPServerThread(HTTP_PORT)
HTTP_thread.start()
db = Database(DB_USERNAME, DB_PASSWORD, DB_HOST, DB_PORT, DB_DATABASE)
LibraryScanner(db, MUSIC_DIR)
if __name__ == "__main__":
username = os.getenv('USER')
if None == username:
dir = "/tmp/.pydaemon.pid"
else:
dir = "/home/" + username + "/.pydaemon.pid"
daemon = MainDaemon(dir, MUSIC_DIR)
if len(sys.argv) == 2:
if 'start' == sys.argv[1]:
daemon.start()
elif 'stop' == sys.argv[1]:
daemon.stop()
elif 'restart' == sys.argv[1]:
daemon.restart()
elif 'status' == sys.argv[1]:
daemon.status()
else:
print("Unknown command")
sys.exit(2)
sys.exit(0)
else:
print("usage: %s start|stop|status|restart" % sys.argv[0])
sys.exit(2)