def process_log(file_iterator):
for line in file_iterator:<EOL><INDENT>if "<STR_LIT:U+002C>" not in line:<EOL><INDENT>continue<EOL><DEDENT>parsed = _parse_line(line)<EOL>if not parsed["<STR_LIT>"].upper() in ["<STR_LIT>", "<STR_LIT>"]:<EOL><INDENT>continue<EOL><DEDENT>if os.path.basename(parsed["<STR_LIT:path>"]) != settings.LOCK_FILENAME:<EOL><INDENT>continue<EOL><DEDENT>dir_name = os.path.dirname(parsed["<STR_LIT:path>"])<EOL>if settings.LOCK_ONLY_IN_HOME:<EOL><INDENT>if dir_name != settings.DATA_PATH + parsed["<STR_LIT:username>"]:<EOL><INDENT>continue<EOL><DEDENT><DEDENT>if not os.path.exists(os.path.dirname(parsed["<STR_LIT:path>"])):<EOL><INDENT>continue<EOL><DEDENT>if os.path.exists(parsed["<STR_LIT:path>"]):<EOL><INDENT>continue<EOL><DEDENT>logger.info(<EOL>"<STR_LIT>" % parsed["<STR_LIT:username>"]<EOL>)<EOL>yield process_import_request(<EOL>username=parsed["<STR_LIT:username>"],<EOL>path=os.path.dirname(parsed["<STR_LIT:path>"]),<EOL>timestamp=parsed["<STR_LIT>"],<EOL>logger_handler=logger<EOL>)<EOL><DEDENT>
Process the extended ProFTPD log.

Args:
    file_iterator (file): any file-like iterator for reading the log or
                          stdin (see :func:`_read_stdin`).

Yields:
    ImportRequest: with each import.