Fixed minor error.
4 from dflowlog import dflow_fields as fields
7 from optparse import OptionParser
12 if int(plan[10]) != 0:
13 new_plans.append(plan)
16 def purge_empty(plans):
19 if len(plan) >= len(fields) and len(plan[fields["flow_point"]]) > 1:
20 new_plans.append(plan)
23 def purge_duplicates(plans):
26 if len(plan) >= len(fields):
27 new_plans[(plan[fields["call_sign"]], plan[fields["atd"]])] = plan
28 return new_plans.itervalues()
30 def filter(column, value, plans):
33 if len(plan) >= fields[column] and plan[fields[column]] == value:
34 new_plans.append(plan)
37 if __name__ == "__main__":
38 option_map = {str(purge_duplicates): purge_duplicates,
39 str(purge_empty): purge_empty,
40 str(purge_zero): purge_zero}
41 arg_parser = OptionParser(usage="usage: %prog [options] csv_logs ...")
42 arg_parser.add_option("-d", "--duplicate",
43 action="store_true", dest=str(purge_duplicates),
44 help="remove duplicate entries")
45 arg_parser.add_option("-e", "--empty",
46 action="store_true", dest=str(purge_empty),
47 help="remove entries with empty flow points")
48 arg_parser.add_option("-z", "--zero",
49 action="store_true", dest=str(purge_zero),
50 help="remove entries with empty flow points")
51 arg_parser.add_option("-f", "--files",
52 action="store_true", dest="files_mode",
53 help="arguments (csv_logs) are files")
54 arg_parser.set_defaults(purge_duplicates=False)
55 arg_parser.set_defaults(purge_empty=False)
56 arg_parser.set_defaults(purge_zero=False)
57 arg_parser.set_defaults(files_mode=False)
58 (options, args) = arg_parser.parse_args()
62 if options.files_mode:
63 plans = dflowlog.parse_files(args)
64 options.files_mode = False
66 plans = dflowlog.parse_pipe(args)
68 for option in options.__dict__:
69 if getattr(options, option):
70 plans = option_map[option](plans)
71 dflowlog.print_logs(plans)