scan.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import sys
  2. import os
  3. import configparser
  4. from yjdaemon.yjmpd import YJMPD
  5. from yjdaemon.HTTPServer import HTTPServerThread
  6. from yjdaemon.Database import Database
  7. from yjdaemon.libraryscanner import LibraryScanner
  8. debug = True
  9. config = configparser.ConfigParser()
  10. try:
  11. config.read("config.cfg")
  12. HTTP_PORT = int(config.get("HTTP", "port"))
  13. DAEMON_PORT = int(config.get("Daemon","port"))
  14. MUSIC_DIR = str(config.get("Library", "musicdir"))
  15. DB_USERNAME = config.get("Database", "username")
  16. DB_PASSWORD = config.get("Database", "password")
  17. DB_HOST = config.get("Database", "host")
  18. DB_DATABASE = config.get("Database", "database")
  19. DB_PORT = config.getint("Database", "port")
  20. except Exception as e:
  21. print(e.with_traceback())
  22. sys.exit(1)
  23. class MainDaemon(YJMPD):
  24. def run(self):
  25. HTTP_thread = HTTPServerThread(HTTP_PORT)
  26. HTTP_thread.start()
  27. def Test():
  28. print("Test")
  29. # socket_thread = ServiceSocket(DAEMON_PORT)
  30. # socket_thread.start()
  31. #HTTP_thread = HTTPServerThread(HTTP_PORT)
  32. #HTTP_thread.start()
  33. db = Database(DB_USERNAME, DB_PASSWORD, DB_HOST, DB_PORT, DB_DATABASE)
  34. LibraryScanner(db, MUSIC_DIR)
  35. if debug:
  36. Test()
  37. else:
  38. if __name__ == "__main__":
  39. username = os.getenv('USER')
  40. if None == username:
  41. dir = "/tmp/.pydaemon.pid"
  42. else:
  43. dir = "/home/" + username + "/.pydaemon.pid"
  44. daemon = MainDaemon(dir, MUSIC_DIR)
  45. if len(sys.argv) == 2:
  46. if 'start' == sys.argv[1]:
  47. daemon.start()
  48. elif 'stop' == sys.argv[1]:
  49. daemon.stop()
  50. elif 'restart' == sys.argv[1]:
  51. daemon.restart()
  52. elif 'status' == sys.argv[1]:
  53. daemon.status()
  54. else:
  55. print("Unknown command")
  56. sys.exit(2)
  57. sys.exit(0)
  58. else:
  59. print("usage: %s start|stop|status|restart" % sys.argv[0])
  60. sys.exit(2)