#!/usr/bin/env python
"""
    jldclock - simple clock

    @author: Jean-Lou Dupont
"""
__version__="0.4"
import os, sys, argparse
op=os.path

try:
    import jlddk #@UnusedImport
except:
    ### must be in dev mode then    
    this_dir=op.dirname(__file__)
    lib_path=op.abspath(op.join(this_dir, ".."))
    sys.path.insert(0, lib_path)
    import jlddk #@UnusedImport

########################################################################

DESC="""Simple Clock, 1 second resolution - v%s

Option 'smm' will send add a separate message for the minute, hour and day markers.
""" % __version__
DEFAULTS={
          "topic_name": "tick"
          ,
          }

def main():
    try:
        import jlddk.do_setup #@UnusedImport
        import logging
        import jlddk.do_checks #@UnusedImport
        
        parser=argparse.ArgumentParser(description=DESC, fromfile_prefix_chars='@', formatter_class=argparse.RawTextHelpFormatter)
        parser.add_argument('-tp',  dest='topic_name',             type=str,            help="Topic name", default=DEFAULTS["topic_name"])
        parser.add_argument('-smm', dest='separate_msg_marker',    action="store_true", help="Send separate message for each marker", default=False)
        parser.add_argument('-ssm', dest='suppress_second_marker', action="store_true", help="Suppress second marker", default=False)
        
        parser.add_argument('-sc',  dest='seconds_count',          type=int,             help="Mode: Interval counter (seconds)", default=None)
        parser.add_argument('-ts',  dest='tick_at_start',          action="store_true",  help="Tick at start", default=False)
        
        from jlddk.script_clock import run
        from jlddk.tools_sys import process_command_line
        args=process_command_line(parser)
        run(**args)


    except KeyboardInterrupt:
        logging.info("..Exiting")
        sys.exit(0)##no probs
        
    except Exception,e:
        logging.error(str(e))
        sys.exit(1)
        
sys.exit(main())
