17d68d00bSMichael Walsh#!/usr/bin/env python
27d68d00bSMichael Walsh
37d68d00bSMichael Walshr"""
4e5391dc4SMichael WalshSee help text for details.
57d68d00bSMichael Walsh"""
67d68d00bSMichael Walsh
77d68d00bSMichael Walshimport sys
87d68d00bSMichael Walsh
9*6607a28eSMichael Walshsave_dir_path = sys.path.pop(0)
107d68d00bSMichael Walsh
11*6607a28eSMichael Walshmodules = ['gen_arg', 'gen_print', 'gen_valid']
12*6607a28eSMichael Walshfor module in modules:
13*6607a28eSMichael Walsh    exec("from " + module + " import *")
147d68d00bSMichael Walsh
15*6607a28eSMichael Walshsys.path.insert(0, save_dir_path)
162d8d7f3cSMichael Walsh
177d68d00bSMichael Walshparser = argparse.ArgumentParser(
187d68d00bSMichael Walsh    usage='%(prog)s [OPTIONS]',
197d68d00bSMichael Walsh    description="%(prog)s will...",
20d0741f8aSMichael Walsh    formatter_class=argparse.ArgumentDefaultsHelpFormatter,
217d68d00bSMichael Walsh    prefix_chars='-+')
227d68d00bSMichael Walsh
237d68d00bSMichael Walshparser.add_argument(
247d68d00bSMichael Walsh    '--whatever',
252d8d7f3cSMichael Walsh    default='',
267d68d00bSMichael Walsh    help='bla, bla.')
277d68d00bSMichael Walsh
2841dda1b0SMichael Walsh# Populate stock_list with options we want.
297d68d00bSMichael Walshstock_list = [("test_mode", 0), ("quiet", 0), ("debug", 0)]
307d68d00bSMichael Walsh
317d68d00bSMichael Walsh
327d68d00bSMichael Walshdef exit_function(signal_number=0,
337d68d00bSMichael Walsh                  frame=None):
347d68d00bSMichael Walsh    r"""
357d68d00bSMichael Walsh    Execute whenever the program ends normally or with the signals that we
367d68d00bSMichael Walsh    catch (i.e. TERM, INT).
377d68d00bSMichael Walsh    """
387d68d00bSMichael Walsh
39*6607a28eSMichael Walsh    # This function will be called by gen_exit_function().  If you have no
40*6607a28eSMichael Walsh    # cleanup to do, you can delete this function altogether.
417d68d00bSMichael Walsh
427d68d00bSMichael Walsh    # Your cleanup code here.
437d68d00bSMichael Walsh
447d68d00bSMichael Walsh
457d68d00bSMichael Walshdef validate_parms():
467d68d00bSMichael Walsh    r"""
472d8d7f3cSMichael Walsh    Validate program parameters, etc.
487d68d00bSMichael Walsh    """
497d68d00bSMichael Walsh
50*6607a28eSMichael Walsh    # This function will be called by gen_setup().  If you have no validation
51*6607a28eSMichael Walsh    # to do, you can delete this function altogether.
52*6607a28eSMichael Walsh
532d8d7f3cSMichael Walsh    # Your validation code here...
542d8d7f3cSMichael Walsh    # valid_value(whatever)
557d68d00bSMichael Walsh
567d68d00bSMichael Walsh
577d68d00bSMichael Walshdef main():
587d68d00bSMichael Walsh
59*6607a28eSMichael Walsh    gen_setup()
607d68d00bSMichael Walsh
617d68d00bSMichael Walsh    # Your code here.
627d68d00bSMichael Walsh
637d68d00bSMichael Walsh
642d8d7f3cSMichael Walshmain()
65