#!/usr/bin/env python
default_config_dir = "/etc/pushpin"
version = '1.0.0'

import sys
import os
import ConfigParser
from setproctitle import setproctitle

setproctitle("pushpin")

exedir = os.path.dirname(os.path.realpath(__file__))

config_file_list = list()
verbose = False

for arg in sys.argv:
	if arg.startswith("--config="):
		config_file_list.append(arg[9:])
		break
	elif arg == "--verbose":
		verbose = True
	elif arg == "--version":
		print 'pushpin %s' % version
		sys.exit(0)

# config file in same dir as executable
config_file_list.append(os.path.join(exedir, "pushpin.conf"))

# config file in /etc
config_file_list.append(os.path.join(default_config_dir, "pushpin.conf"))

config_file = None
for f in config_file_list:
	if os.path.isfile(f):
		config_file = f
		break

if not config_file:
	print "Error: no configuration file found. Tried %s" % ", ".join(config_file_list)
	sys.exit(1)

config = ConfigParser.ConfigParser()
config.read([config_file])

libdir = None
if config.has_option("global", "libdir"):
	libdir = config.get("global", "libdir")

if libdir:
	sys.path.insert(0, os.path.join(libdir, "runner"))
	import runner
else:
	from runner import runner

runner.run(exedir, config_file, verbose)
