__version__ = '2.0.0'
log = logging.getLogger(__name__)
-log.setLevel(logging.DEBUG)
+log.setLevel(logging.NOTSET)
try:
from systemd.journal import JournalHandler
handler = logging.StreamHandler(sys.stdout)
log.addHandler(handler)
-parser = OptionParser()
+parser = OptionParser(version=__version__)
parser.add_option("--config",
dest="config",
metavar="FILE",
help="location of config file")
+parser.add_option("--log-level",
+ dest="log_level",
+ default=None,
+ help="set the log level (debug, info, warning)")
+
parser.add_option("--dry-run",
action="store_true",
dest="dry_run",
default=False,
help="fetch data but don't upload to InfoEx")
-parser.add_option("--version",
- action="store_true",
- dest="show_version",
- default=False,
- help="show program version and exit")
-
(options, args) = parser.parse_args()
config = configparser.ConfigParser(allow_no_value=False)
-if options.show_version:
- print("%s - %s" % (os.path.basename(__file__), __version__))
- sys.exit(0)
-
if not options.config:
- print("Please specify a configuration file via --config.")
+ parser.print_help()
+ print("\nPlease specify a configuration file via --config.")
sys.exit(1)
config.read(options.config)
+# ugly, but passable
+if options.log_level in [None, 'debug', 'info', 'warning']:
+ if options.log_level == 'debug':
+ log.setLevel(logging.DEBUG)
+ elif options.log_level == 'info':
+ log.setLevel(logging.INFO)
+ elif options.log_level == 'warning':
+ log.setLevel(logging.WARNING)
+ else:
+ log.setLevel(logging.NOTSET)
+else:
+ parser.print_help()
+ print("\nPlease select an appropriate log level or remove the switch (--log-level).")
+ sys.exit(1)
+
log.debug('STARTING UP')
try: