def _verify_sort(sort_string): valid_field_names = '' field_names = to_str(sort_string).split(';') for name in field_names: if valid_provider_search_parameter(name): valid_field_names = valid_field_names + name + ';' else: log.warn("{0:s}: not a valid field_name") if valid_field_names: return valid_field_names.rstrip(';') return None
for k in ('auth', 'config', 'debug', 'log-level', 'log-console', 'log-disk', 'alias'): popts[k] = None argvslice, argvrem = extractargs(argv) try: (opts, args) = getopt.getopt(argvslice, 'h', ['auth=', 'config=', 'log-level=', 'name=', 'debug', 'help' 'log-console', 'log-disk', 'no-log-console', 'no-log-disk' ]) except getopt.GetoptError, e: stderr(e) exit(usage_tail(pgm, usage, 1)) for (key, val) in opts: if key == '-h' or key == '--help': exit(usage_tail(pgm, usage, 0)) elif key == '--auth': popts['auth'] = to_str(val) elif key == "--config" : popts['config'] = to_str(val) elif key == "--debug" : popts['debug'] = True elif key == '--log-level': popts['log-level'] = to_str(val) elif key == '--name': popts['alias'] = to_str(val) elif key == '--log-console': popts['log-console'] = True elif key == '--log-disk': popts['log-disk'] = True elif key == '--no-log-console': popts['log-console'] = False elif key == '--no-log-disk': popts['log-disk'] = False else: e = "Error in parseargs code: option parsed by getopt not matched." raise AppInitError(e) return (popts, argvrem) #################### Main ######################### def app_main(pgm, argv, usage):
stdout(use.format(pgm)) return retcode def parseargs(pgm, argv): import getopt popts = {'input':None, 'tag':None, 'output':None} try: (opts, args) = getopt.getopt(argv, 'i:t:o:h', ['input=', 'tag=', 'output=', 'help']) except getopt.GetoptError, e: stderr(e) exit(usage(pgm, 1)) for (key, val) in opts: if key == '-h' or key == '--help': exit(usage(pgm, 0)) elif key == '-i' or key == '--input': popts['input'] = to_str(val) elif key == '-o' or key == '--output': popts['output'] = to_str(val) elif key == '-t' or key == '--tag': popts['tag'] = to_str(val) else: e = "Error in parseargs code: option parsed by getopt not matched." stderr("{0:s}\n".format(e), 'parseargs') exit(1) return (popts, args) (pgm, ext) = path.splitext(path.basename(sys.argv[0])) (popts, args) = parseargs(pgm, sys.argv[1:]) if not popts['input']: stderr("\n\tNeed input XML file.\n") exit(usage(pgm, 1)) if not popts['tag']: stderr("\n\tNeed XML node (tag) to parse on.\n")
# Parse -r or --request flag common to several queries. from odapi.main import usage_tail from odapi.util import to_str def parse_request(pgm, argv, usage): import getopt popts = {'request':None} try: (opts, args) = getopt.getopt(argv, 'r:',['request=']) except getopt.GetoptError, e: stderr(e) usage_tail(pgm, usage, 1) return (None, None) for (key, val) in opts: if key == '-r' or key == '--request': popts['request'] = to_str(val) else: e = "Error in parseargs code: option parsed by getopt not matched." stderr("{0:s}\n".format(e), 'parseargs') popts = None return (popts, args) ######## test parse_request() ######### if __name__ == '__main__': """This is a parse_request test.""" import sys import getopt from odapi.main import app_main from odapi.exception import AppOptionError from odapi.util import csv2list, to_str, stdout
[OPTIONS] -n, --notes 'quoted notes' Seen only by buyer. """ def parseargs(pgm, argv, usage): import getopt popts = {'bonus':None, 'comment':None, 'user':None, 'notes':None} try: (opts, args) = getopt.getopt(argv, 'b:c:u:n:', ['bonus=', 'comment=', 'user='******'notes=']) except getopt.GetoptError, e: stderr(e) return (None, None) for (key, val) in opts: if key == '-b' or key == '--bonus': popts['bonus'] = to_num(val) elif key == '-c' or key == '--comment': popts['comment'] = to_str(val) elif key == '-u' or key == '--user': popts['user'] = to_str(val) elif key == '-n' or key == '--notes': popts['notes'] = to_str(val) else: e = "Error in parseargs code: option parsed by getopt not matched.\n" stderr(e) (popts, args) = (None, None) return (popts, args) #################### Main ######################### (pgm, ext) = path.splitext(path.basename(sys.argv[0])) try: (popts, args) = parseargs(pgm, sys.argv[1:], usage) except AppInitError, e: stderr(e) exit(1)