Treat i3pystatus as launcher

This commit is contained in:
Igor Sharonov 2016-06-14 21:37:08 +03:00
parent 4611295475
commit 0a3679510e

View File

@ -5,6 +5,8 @@ from i3pystatus.core.modules import Module, IntervalModule
from i3pystatus.core.settings import SettingsBase from i3pystatus.core.settings import SettingsBase
from i3pystatus.core.util import formatp, get_module from i3pystatus.core.util import formatp, get_module
import argparse
import imp
import logging import logging
import os import os
@ -25,9 +27,23 @@ logger.addHandler(handler)
logger.setLevel(logging.CRITICAL) logger.setLevel(logging.CRITICAL)
def main(): def clock_example():
from i3pystatus.clock import Clock from i3pystatus.clock import Clock
status = Status() status = Status()
status.register(Clock()) status.register(Clock())
status.run() status.run()
def main():
parser = argparse.ArgumentParser(description='''
run i3pystatus configuration file. Starts i3pystatus clock example if no arguments were provided
''')
parser.add_argument('-c', '--config', help='path to configuration file', default=None, required=False)
args = parser.parse_args()
if args.config:
module_name = "i3pystatus-config"
imp.load_source(module_name, args.config)
else:
clock_example()