Open a stream for the first file in arguments, or stdin

def streamer(main_method):
    """Open a stream for the first file in arguments, or stdin"""
    def main(arguments):
        streams = [StringIO(get_clipboard_data())] if (arguments and '-c' in arguments) else []
        streams = streams or ([file(_, 'r') for _ in arguments if os.path.isfile(argument)] if arguments else [])
        streams = streams or ([sys.stdin] if not (streams or arguments) else [])
        return main_method(arguments, streams)
    return main