73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
import sys
|
|
import os
|
|
import configparser
|
|
|
|
from yjdaemon.yjmpd import YJMPD
|
|
from yjdaemon.HTTPServer import HTTPServerThread
|
|
from yjdaemon.Database import Database
|
|
from yjdaemon.libraryscanner import LibraryScanner
|
|
|
|
debug = True
|
|
|
|
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", "musicdir"))
|
|
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()
|
|
|
|
|
|
def Test():
|
|
print("Test")
|
|
|
|
# socket_thread = ServiceSocket(DAEMON_PORT)
|
|
# socket_thread.start()
|
|
#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 debug:
|
|
Test()
|
|
else:
|
|
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)
|