Impedir que o ftplib faça o download de um arquivo em andamento?

Temos uma configuração de sistema ftp para monitorar / baixar de servidores ftp remotos que não estão sob nosso controle. O script se conecta ao ftp remoto e pega os nomes dos arquivos no servidor e, em seguida, verificamos se é algo que já foi baixado. Se não tiver sido baixado, baixamos o arquivo e o adicionamos à lista.

Recentemente, encontramos um problema em que alguém do lado do ftp remoto copiava um arquivo único maciço (> 1GB); o script acordava, exibia um novo arquivo e começava a baixar o arquivo que está sendo copiado.

Qual é a melhor maneira de verificar isso? Eu estava pensando em pegar o tamanho do arquivo, aguardando alguns segundos, verificando o tamanho do arquivo novamente e ver se ele aumentou, se não tiver, então nós o baixamos. Mas como o tempo é preocupante, não podemos esperar alguns segundos para cada conjunto de arquivos e ver se o tamanho do arquivo aumentou.

Qual seria a melhor maneira de fazer isso, atualmente tudo é feito via pythons ftplib, como podemos fazer isso além de usar o método mencionado acima.

Mais uma vez, deixe-me reiterar isso, temos 0 controle sobre os sites FTP remotos.

Obrigado.

UPDATE1:

Eu estava pensando o que se eu tentasse renomeá-lo ... uma vez que temos permissões totais no ftp, se o upload do arquivo estiver em andamento, o comando renomear falhará?

Não temos opções reais aqui ... temos?

UPDATE2: Bem, aqui está algo interessante: alguns dos ftps testados parecem alocar automaticamente o espaço assim que a transferência é iniciada.

Por exemplo. Se eu transferir um arquivo de 200mb para o servidor ftp. Enquanto a transferência estiver ativa, se eu conectar ao servidor ftp e fizer um tamanho enquanto o upload estiver acontecendo. Mostra 200mb para o tamanho. Mesmo que o arquivo seja apenas 10% completo.

As permissões também parecem ser definidas aleatoriamente. O servidor FTP que acompanha o IIS define as permissões após o término da cópia do arquivo. Enquanto alguns dos outros servidores FTP antigos o definem assim que você envia o arquivo.

: '(