def cut(self, line):
result = []<EOL>line = self.line(line)<EOL>for i, field in enumerate(self.positions):<EOL><INDENT>try:<EOL><INDENT>index = _setup_index(field)<EOL>try:<EOL><INDENT>result += line[index]<EOL><DEDENT>except IndexError:<EOL><INDENT>result.append(self.invalid_pos)<EOL><DEDENT><DEDENT>except ValueError:<EOL><INDENT>result.append(str(field))<EOL><DEDENT>except TypeError:<EOL><INDENT>result.extend(self._cut_range(line, int(field[<NUM_LIT:0>]), i))<EOL><DEDENT><DEDENT>return '<STR_LIT>'.join(result)<EOL>
Returns selected positions from cut input source in desired
        arrangement.

        Argument:
            line -      input to cut