#!/usr/bin/env python3 import common class Main(common.LkmcCliFunction): def __init__(self): super().__init__( defaults = { 'show_time': False, }, description='''\ Print the value of a self.env['py'] variable. This is useful to: * give dry commands on the README that don't change when we refactor directory structure * create simple bash scripts that call use self.env['py'] variables For example, to get the Buildroot output directory for an ARM build, use: .... ./%(prog)s -a arm buildroot_build_dir .... List all available variables: .... ./%(prog)s .... ''', ) self.add_argument('--type', choices=['input', 'all'], default='all') self.add_argument('variable', nargs='?') def timed_main(self): variable = self.env['variable'] if variable: print(self.env[variable]) else: if self.env['type'] == 'input': to_print = self.input_args elif self.env['type'] == 'all': to_print = self.env for key in sorted(to_print): print('{}={}'.format(key, self.env[key])) if __name__ == '__main__': Main().cli()