6 from brisa.core import config
7 from brisa.core import log
8 from brisa.core.system import daemonize
9 from brisa.utils import options
12 from zukebox_server.system import linux
13 from zukebox_server.server.zukebox_server import ZukeBoxServer
16 pexists = os.path.exists
18 home_path = os.path.expanduser("~")
19 zb_base_path = pjoin(home_path, ".zukebox")
20 zb_database_path = pjoin(zb_base_path, "audio_library.db")
21 zb_module_path = zukebox_server.__path__[0]
22 zb_plugins_path = pjoin(zb_module_path, "plugins")
24 plugin_section = "zukebox_server_plugin-audio-library"
26 def get_zbus_service():
28 bus = dbus.SessionBus()
29 bus_obj = bus.get_object("org.freedesktop.DBus",
30 "/org/freedesktop/DBus", introspect=False)
31 bus_iface = dbus.Interface(bus_obj, "org.freedesktop.DBus")
33 reqname = bus_iface.RequestName("br.org.zagaia.ZukeBox",
36 log.error("error [%s] while getting the D-BUS service name for ZukeBox"\
37 "exiting ...", e, exc_info=True)
41 log.error("Unknow error while getting D-BUS service name")
44 version = pjoin(zb_base_path, "version")
48 os.makedirs(zb_base_path, 0700)
49 open(version, "w").write(version_str)
51 if not pexists(zb_base_path):
57 config.manager.set_parameter("zukebox_server", "name", "ZukeBox Server")
58 config.manager.set_parameter("zukebox_server", "owner", "zukebox-server")
59 config.manager.set_parameter("zukebox_server", "home", zb_module_path)
60 config.manager.set_parameter("zukebox_server", "plugins", zb_plugins_path)
63 config.manager.set_parameter(plugin_section, "owner",
64 "zukebox_server_plugin-audio_library")
65 config.manager.set_parameter(plugin_section, "database_location",
67 config.manager.set_parameter(plugin_section, "enable", True)
69 sp = linux.SystemProperties()
70 audio_folder = sp.DEFAULT_DIR_AUDIO
72 config.manager.set_parameter(plugin_section, "audio_folder", audio_folder)
77 log.info("ZukeBox Server starting....")
78 listen_url, daemon = options.parse_args("ZukeBox Server")
81 server_name = config.get_parameter("zukebox_server", "name")
82 zb_server = ZukeBoxServer(server_name, listen_url)
90 if __name__ == '__main__':