def setup(self): args = self.args() append_filename = args.string_arg('-a') replace_filename = args.string_arg('-f') filename = None mode = None if append_filename and replace_filename: self.usage() elif append_filename: mode = 'a' filename = append_filename elif replace_filename: mode = 'w' filename = replace_filename self._csv = args.flag('-c') self._terminal = args.flag('-t') if args.has_next(): self._format = args.next_string() if args.has_next(): self.usage() if self._csv and self._format: self.usage() if filename: self._output = open(filename, mode) else: self._output = sys.stdout
def setup(self): args = self.args() grouping_function = args.function_arg('-g') consecutive_grouping_function = args.function_arg('-c') running_totals = args.flag('-r') if running_totals is None: running_totals = False initial_value = _wrap_if_necessary(args.next_eval()) aggregation_function = args.next_function() if grouping_function and consecutive_grouping_function: self.usage() if initial_value is None or aggregation_function is None: self.usage() if args.has_next(): self.usage() if grouping_function and consecutive_grouping_function: self.usage() elif grouping_function: self._aggregate = _GroupingAggregate( self, running_totals, grouping_function, initial_value, aggregation_function) elif consecutive_grouping_function: self._aggregate = _ConsecutiveGroupingAggregate( self, running_totals, consecutive_grouping_function, initial_value, aggregation_function) else: self._aggregate = _NonGroupingAggregate( self, running_totals, initial_value, aggregation_function)
def setup(self): args = self.args() grouping_function = args.function_arg('-g') consecutive_grouping_function = args.function_arg('-c') running_totals = args.flag('-r') if running_totals is None: running_totals = False initial_value = _wrap_if_necessary(args.next_eval()) aggregation_function = args.next_function() if grouping_function and consecutive_grouping_function: self.usage() if initial_value is None or aggregation_function is None: self.usage() if args.has_next(): self.usage() if grouping_function and consecutive_grouping_function: self.usage() elif grouping_function: self._aggregate = _GroupingAggregate(self, running_totals, grouping_function, initial_value, aggregation_function) elif consecutive_grouping_function: self._aggregate = _ConsecutiveGroupingAggregate( self, running_totals, consecutive_grouping_function, initial_value, aggregation_function) else: self._aggregate = _NonGroupingAggregate(self, running_totals, initial_value, aggregation_function)
def setup(self): args = self.args() if args.has_next(): self.usage() if args.flag('-c'): self._uniquer = _ConsecutiveUniquer(self) else: self._uniquer = _GeneralUniquer(self)
def setup(self): args = self.args() scp_options = "" for option in "Crp": if args.flag("-" + option): scp_options += option if scp_options: self._scp_options = "-" + scp_options else: self._scp_options = "" self._use_subdirs = not args.flag("-x") if args.has_next(): self._file = args.next_string() if args.has_next(): self._local_dir = args.next_string() if not self._file or not self._local_dir or args.has_next(): self.usage() if not self._file.startswith("/"): self.usage()
def setup(self): args = self.args() self._count = args.next_int() self._start = args.next_int() pad = args.int_arg('-p') if self._start is None: self._start = 0 if pad is not None: self._format = '%%0%sd' % pad if len(str(self._count + self._start)) > pad: self.usage() if args.has_next(): self.usage()