Exemple #1
0
def main():
    parser = argparse.ArgumentParser(description='Simple sort program')

    parser.add_argument('-i',
                        metavar='in-file',
                        required=True,
                        type=argparse.FileType('r'),
                        help='input file of strings to sort, one per line')
    parser.add_argument('-o',
                        metavar='out-file',
                        required=True,
                        type=argparse.FileType('w'),
                        help='output file for sorted strings, one per line')

    # Create URL validation options
    # Get available functions to use for url validation choices
    # from the list of functions defined in __init__.py
    #
    url_validation_choices = tuple(url_validation_fns.keys())

    # Set a default URL validation function
    #
    if 'all' in url_validation_fns:
        default_url_validation_choice = 'all'
    else:
        default_url_validation_choice = url_validation_choices[0]

    # Add command line argument options to parser
    parser.add_argument('--validate-fn',
                        dest='validate_fn',
                        choices=url_validation_choices,
                        default=default_url_validation_choice,
                        help='enable url validation type.')

    # Get available sort functions to use for argument choices
    choices = tuple(sort_fns.keys())
    if 'selectionsort' in sort_fns:
        default = 'selectionsort'
    else:
        default = choices[0]

    parser.add_argument('--sort-fn',
                        dest='sort_fn',
                        choices=choices,
                        default=default,
                        help='sort function to use')

    # Read parsed arguments
    results = parser.parse_args()
    infile = results.i
    outfile = results.o
    sort_fn = results.sort_fn
    url_validate_fn = results.validate_fn

    # read lines
    try:
        lines = infile.readlines()
    except IOError, e:
        parser.error(str(e))
Exemple #2
0
def main():
  parser = argparse.ArgumentParser(description='Simple sort program')

  parser.add_argument('-i', metavar='in-file', required=True,
                      type=argparse.FileType('r'),
                      help='input file of strings to sort, one per line')
  parser.add_argument('-o', metavar='out-file', required=True,
                      type=argparse.FileType('w'),
                      help='output file for sorted strings, one per line')
  
  # Create URL validation options
  # Get available functions to use for url validation choices
  # from the list of functions defined in __init__.py
  # 
  url_validation_choices = tuple(url_validation_fns.keys())
  

  # Set a default URL validation function 
  #
  if 'all' in url_validation_fns:
    default_url_validation_choice = 'all'
  else:
    default_url_validation_choice = url_validation_choices[0]
  
  # Add command line argument options to parser 
  parser.add_argument('--validate-fn', dest='validate_fn',
          choices=url_validation_choices,
          default=default_url_validation_choice,
          help='enable url validation type.')
  
  # Get available sort functions to use for argument choices
  choices = tuple(sort_fns.keys())
  if 'selectionsort' in sort_fns:
    default = 'selectionsort'
  else:
    default = choices[0]

  parser.add_argument('--sort-fn', dest='sort_fn', choices=choices,
                      default=default,
                      help='sort function to use')

  # Read parsed arguments 
  results          = parser.parse_args()
  infile           = results.i
  outfile          = results.o
  sort_fn          = results.sort_fn
  url_validate_fn  = results.validate_fn

  # read lines
  try:
    lines = infile.readlines()
  except IOError, e:
    parser.error(str(e))
Exemple #3
0
    def run_all_algorithms(self, lst):
        '''
        This function exercise sort for all algorithms
        '''
        def run_sort(sort_fn):
            copy = list(lst)
            sort_fn(copy)
            return copy

        # want to filter out the nosort function
        func = {}
        for key in sort_fns.keys():
            if str(key) != 'nosort':
                func[key] = sort_fns[key]

        results = map(run_sort, func.values())
        for result in results[1:]:
            self.assertEqual(results[0], result)
        return results[0]
Exemple #4
0
 def run_all_algorithms(self, lst):
     '''
     This function exercise sort for all algorithms
     '''  
     def run_sort(sort_fn):
         copy = list(lst)
         sort_fn(copy)
         return copy
     
     # want to filter out the nosort function  
     func = {}
     for key in sort_fns.keys():
       if str(key) != 'nosort':
         func[key] = sort_fns[key]
            
     results = map(run_sort, func.values())
     for result in results[1:]:
         self.assertEqual(results[0], result)
     return results[0]