Esempio n. 1
0
 def test_submodule_default_handler_shows_usage(self):
     json_data = {
         'modules': {
             'root': {
                 'modules': {
                     'command': {
                         'args': [{
                             'long': '--foo'
                         }]
                     }
                 }
             }
         }
     }
     with open(DEFINITIONS_FILE, 'w') as f:
         f.write(json.dumps(json_data))
     argparser = get_parser('root.py')
     opts = argparser.parse_args(['command'])
     buf = []
     with record_stdout(buf):
         opts.func(opts)
     actual = ''.join(buf)
     expected = '\n'.join([
         'usage: command [-h] [--foo FOO]',
         '',
         'optional arguments:',
         '  -h, --help  show this help message and exit',
         '  --foo FOO\n',
     ])
     self.assertEqual(actual, expected)
Esempio n. 2
0
    def test_submodule_handler_global_callable_decorator(self):
        json_data = {
            'modules': {
                'root': {
                    'modules': {
                        'command': {
                            'args': [{
                                'long': '--foo'
                            }]
                        }
                    }
                }
            }
        }
        with open(DEFINITIONS_FILE, 'w') as f:
            f.write(json.dumps(json_data))

        @callable('command')
        def get_opts(opts):
            return 'get_opts called: foo={}'.format(opts.foo)

        argparser = get_parser('root.py')
        opts = argparser.parse_args(['command', '--foo', 'bar'])
        expected = 'get_opts called: foo=bar'
        self.assertEqual(opts.func(opts), expected)
Esempio n. 3
0
 def test_simple_template(self):
     json_data = {
         'modules': {
             'root': {
                 'args': [],
                 'templates': {
                     'BASIC': {
                         'args': [{
                             'long': '--foo'
                         }]
                     }
                 },
                 'modules': {
                     'command': {
                         'template': 'BASIC'
                     }
                 }
             }
         }
     }
     with open(DEFINITIONS_FILE, 'w') as f:
         f.write(json.dumps(json_data))
     argparser = get_parser('root.py')
     opts = argparser.parse_args(['command', '--foo', 'bar'])
     self.assertEqual(opts.foo, 'bar')
Esempio n. 4
0
 def test_nested_submodules(self):
     json_data = {
         'modules': {
             'root': {
                 'modules': {
                     'command': {
                         'args': [{
                             'long': '--foo'
                         }],
                         'modules': {
                             'subcommand': {
                                 'args': [{
                                     'long': '--bar'
                                 }]
                             }
                         }
                     }
                 }
             }
         }
     }
     with open(DEFINITIONS_FILE, 'w') as f:
         f.write(json.dumps(json_data))
     argparser = get_parser('root.py')
     opts = argparser.parse_args(
         ['command', '--foo', 'bar', 'subcommand', '--bar', 'baz'])
     self.assertEqual(opts.foo, 'bar')
     self.assertEqual(opts.bar, 'baz')
Esempio n. 5
0
def cli_args():
    parser = argutil.get_parser("sr_due_date.py",
                                "Update 311 SRs with their due date.",
                                "app_name")

    args = parser.parse_args()

    return args
Esempio n. 6
0
def main():
    parser = argutil.get_parser()
    opts = parser.parse_args()
    if opts.version:
        from .__version__ import VERSION
        print(VERSION)
    else:
        opts.func(opts)
Esempio n. 7
0
 def test_error_unknown_template(self):
     json_data = {
         'modules': {
             'root': {
                 'args': [],
                 'modules': {
                     'command': {
                         'template': 'BASIC'
                     }
                 }
             }
         }
     }
     with open(DEFINITIONS_FILE, 'w') as f:
         f.write(json.dumps(json_data))
     with self.assertRaises(KeyError):
         get_parser('root.py')
Esempio n. 8
0
def cli_args():

    parser = argutil.get_parser("knack_json.py",
                                "Write Knack records to JSON.", "dataset",
                                "app_name")

    args = parser.parse_args()

    return args
Esempio n. 9
0
def cli_args():

    parser = argutil.get_parser(
        "backup.py", "Backup objects from knack application to csv.",
        "app_name")

    parsed = parser.parse_args()

    return parsed
Esempio n. 10
0
def cli_args():
    parser = argutil.get_parser(
        "metadata_updater.py",
        "Retrieve Knack app data and update new and changed object and field metadata records.",
        "app_name",
    )

    args = parser.parse_args()

    return args
Esempio n. 11
0
def cli_args():
    parser = argutil.get_parser(
        "location_updater.py",
        "Update location attributes via point-in-poly against various intersecting geospatial data layers.",
        "app_name",
    )

    args = parser.parse_args()

    return args
Esempio n. 12
0
def cli_args():
    parser = argutil.get_parser(
        "tcp_business_days.py",
        "Calculate # of business days elapsed and update records accordingly.",
        "app_name",
    )

    args = parser.parse_args()

    return args
Esempio n. 13
0
def cli_args():
    parser = argutil.get_parser(
        "signal_pm_copier.py",
        "Check traffic signal prevent maintenance (PM) records and insert copies of PM records to signals' secondary signals",
        "app_name",
    )

    args = parser.parse_args()

    return args
def cli_args():
    parser = argutil.get_parser(
        "secondary_signals_updater.py",
        "Update traffic signal records with secondary signal relationships.",
        "app_name",
    )

    args = parser.parse_args()

    return args
def cli_args():
    parser = argutil.get_parser(
        "dms_message_pub.py",
        "Extract DMS message from traffic management system and load into Data Tracker.",
        "app_name",
    )

    args = parser.parse_args()

    return args
Esempio n. 16
0
def cli_args():

    parser = argutil.get_parser(
        "detection_status_signals.py",
        "Assign detection status to signals based on status of its detectors.",
        "app_name",
    )

    parsed = parser.parse_args()

    return parsed
def cli_args():

    parser = argutil.get_parser(
        "task_orders.py",
        "Check controller's office for new task orders and upload to Data Tracker.",
        "app_name",
    )

    args = parser.parse_args()

    return args
def cli_args():

    parser = argutil.get_parser(
        "esb_xml_gen.py",
        "Generate XML message to update 311 Service Reqeusts via Enterprise Service Bus.",
        "app_name",
    )

    args = parser.parse_args()

    return args
def cli_args():
    parser = argutil.get_parser(
        "sr_asset_assign.py",
        "Link 311 service request to nearby assset record.",
        "device_type",
        "app_name",
    )

    args = parser.parse_args()

    return args
def cli_args():
    parser = argutil.get_parser(
        "signal_requests_ranker.py",
        "Assign traffic and PHB request based on evaluation score.",
        "eval_type",
        "app_name",
    )

    args = parser.parse_args()

    return args
Esempio n. 21
0
def cli_args():

    parser = argutil.get_parser(
        "device_status_log.py",
        "Generate connectivity statistics and upload to Knack application.",
        "device_type",
        "app_name",
    )

    args = parser.parse_args()

    return args
def cli_args():

    parser = argutil.get_parser(
        "street_seg_updater.py",
        "Update street segment attributes from authoritative GIS layer.",
        "app_name",
        "--last_run_date",
    )

    args = parser.parse_args()

    return args
def cli_args():
    parser = argutil.get_parser(
        "pgrest_data_pub.py",
        "Publish Knack Data to postgREST.",
        "dataset",
        "app_name",
        "--last_run_date",
    )

    args = parser.parse_args()

    return args
Esempio n. 24
0
def cli_args():

    parser = argutil.get_parser(
        "device_status_check.py",
        "Ping network devices to verify connenectivity.",
        "device_type",
        "app_name",
        "--replace",
    )

    args = parser.parse_args()

    return args
Esempio n. 25
0
def cli_args():

    parser = argutil.get_parser(
        "signs_agol.py",
        "Publish Signs Work Order Data to ArcGIS Online",
        "app_name",
        "--replace",
        "--last_run_date",
    )

    args = parser.parse_args()

    return args
Esempio n. 26
0
def cli_args():
    parser = argutil.get_parser(
        "pgrest_data_pub.py",
        "Publish PostgREST data to Socrata and ArcGIS Online",
        "dataset",
        "--destination",
        "--replace",
        "--last_run_date",
    )

    args = parser.parse_args()

    return args
Esempio n. 27
0
def cli_args():
    parser = argutil.get_parser(
        "mds.py",
        "Extract data from MDS endpoint and load to staging database.",
        "provider_name",
        "--start",
        "--end",
        "--replace",
    )

    args = parser.parse_args()

    return args
Esempio n. 28
0
 def test_template_examples(self):
     json_data = {
         'modules': {
             'root': {
                 'args': [],
                 'templates': {
                     'BASIC': {
                         'examples': [{
                             'usage': '--foo',
                             'description': 'usage from template'
                         }]
                     },
                     'COMPLEX': {
                         'parent':
                         'BASIC',
                         'examples': [{
                             'usage':
                             '--bar',
                             'description':
                             'usage from nested template'
                         }]
                     }
                 },
                 'modules': {
                     'command': {
                         'template':
                         'COMPLEX',
                         'examples': [{
                             'usage': '--baz',
                             'description': 'usage from submodule'
                         }]
                     }
                 }
             }
         }
     }
     with open(DEFINITIONS_FILE, 'w') as f:
         f.write(json.dumps(json_data))
     argparser = get_parser('root.py')
     expected = ['examples:']
     for u, d in [
         ('--foo', 'usage from template'),
         ('--bar', 'usage from nested template'),
         ('--baz', 'usage from submodule'),
     ]:
         expected.append('    {:<44}{}'.format(u, d))
     self.assertEqual(
         argparser._subparsers._group_actions[0].choices['command'].epilog,
         '\n'.join(expected))
Esempio n. 29
0
def cli_args():
    """Summary
    
    Returns:
        TYPE: Description
    """
    parser = argutil.get_parser(
        "radar_count_pub.py",
        "Publish radar count data from KITS DB to City of Austin Open Data Portal.",
        "--replace",
    )

    args = parser.parse_args()

    return args
def cli_args():

    parser = argutil.get_parser(
        "knack_data_pub.py",
        "Publish Knack data to Socrata and ArcGIS Online",
        "dataset",
        "app_name",
        "--destination",
        "--replace",
        "--last_run_date",
    )

    parsed = parser.parse_args()

    return parsed