def handleArguments(args): """ Processes a list of arguments. Creates a new L{ExecutionSettings} and a new L{ExecutionStatus} object. Iterates the list of arguments and assigns any known argument value to the given settings or status instance. @param args: List of arguments to be processed (usually the CLI arguments list) @return: Info about success: 0 - not successful, 1 - Signature information is requested, 2 - successful; The settings applied to the Settings / Status instances @rtype: C{int}; L{ExecutionStatus} """ if len(args) < 2: usage(args[0]) return 0, None settings = ExecutionSettings(signatures = signatures.getCopyOfAllSignauteres()) status = ExecutionStatus(settings) disabled_signs = [] for arg in args: if arg[0] != '-': continue if arg[1] == 's': status.file_start = int(arg[2:]) elif arg[1] == 'e': status.file_end = int(arg[2:]) elif arg[1] == 'd': settings.digits = int(arg[2:]) elif arg[1] == 'n': settings.counterstart_global = int(arg[2:]) elif arg[1] == 'f': settings.dest_folder = arg[2:] elif arg[1] == 'o': settings.output_level = int(arg[2:]) elif arg[1] =='g': settings.output_frequency = int(arg[2:]) elif arg[1] =='i': if arg[2] == 's': return 1, status elif arg[2] == 'd': disabled_signs.append(arg[3:]) else: print ('Unrecognised option for Signature operations: %c [Ignored]' %(arg[2])) else: print ('Unrecognised option: %c [Ignored]' %(arg[1])) settings.dest_folder = tools.checkDestfolder(settings.dest_folder) settings.sourceFiles.append(args[len(args)-1]) settings.disableSignatureWithNames(disabled_signs) return 2, status