-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathmain.py
More file actions
41 lines (34 loc) · 1.32 KB
/
main.py
File metadata and controls
41 lines (34 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
from configparser import RawConfigParser
from datetime import datetime
from mpserver.config import __version__
from mpserver.musicserver import MusicServer
from mpserver.tools import Colors
from mpserver.tools import colorstring as c
# TODO: let user select config file from cmd argument
inifile = 'config.ini'
musicserver = None # type: musicserver.MusicServer
# Start main program
banner = c("\n"
"\tMelonMusicPlayer made by Melle Dijkstra © " + str(datetime.now().year) + "\n"
"\tVersion: " + __version__ + "\n",
Colors.BLUE)
if __name__ == '__main__':
# Check if program is run with root privileges, which is needed for socket communication
try:
print(banner)
# Get configuration for the application
config = RawConfigParser(defaults={})
if os.path.exists(inifile):
config.read_file(open(inifile))
else:
print(c('configuration file ('+inifile+') does not exist', Colors.WARNING))
musicserver = MusicServer(config)
# This method will start the server and wait for anyone to connect
musicserver.serve()
except KeyboardInterrupt as e:
print(c("Aborting MelonMusicPlayer...", Colors.BOLD))
musicserver.shutdown()
musicserver.shutdown()