pyftpsyn c сбой синхронизировать старый сервер - PullRequest
0 голосов
/ 10 февраля 2020

У меня проблема, FTP-сервер, к которому я собираюсь подключиться, не работает MLSD, чтобы увидеть каталоги

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 514, in get_dir
    self._ftp_retrlines_native("MLSD", _addline, encoding)
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 772, in _ftp_retrlines_native
    self.ftp.retrbinary(command, _on_read_chunk)
  File "/usr/local/lib/python3.8/ftplib.py", line 425, in retrbinary
    with self.transfercmd(cmd, rest) as conn:
  File "/usr/local/lib/python3.8/ftplib.py", line 382, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "/usr/local/lib/python3.8/ftplib.py", line 348, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "/usr/local/lib/python3.8/ftplib.py", line 275, in sendcmd
    return self.getresp()
  File "/usr/local/lib/python3.8/ftplib.py", line 248, in getresp
    raise error_perm(resp)
ftplib.error_perm: 500 Unknown command.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/test/python/br/org/pti/celtab/sima/isd/collector/device/iapar/ftp/westmeteorological/CollectorControllerTest.py", line 9, in <module>
    main()
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/test/python/br/org/pti/celtab/sima/isd/collector/device/iapar/ftp/westmeteorological/CollectorControllerTest.py", line 6, in main
    oCollectorController.collect()
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/main/python/br/org/pti/celtab/sima/isd/collector/device/iapar/ftp/westmeteorological/CollectorController.py", line 22, in collect
    oCoreFtpSync.downloader()
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/main/python/br/org/pti/celtab/sima/isd/collector/core/CoreFtpSync.py", line 37, in downloader
    s.run()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 1268, in run
    res = super(DownloadSynchronizer, self).run()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 827, in run
    res = super(BiDirSynchronizer, self).run()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 213, in run
    res = self._sync_dir()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 485, in _sync_dir
    remote_entries = self.remote.get_dir()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 520, in get_dir
    raise RuntimeError(
RuntimeError: The FTP server does not support the 'MLSD' command.

Если я изменю библиотеку на NLST, это выдаст следующую ошибку: где таким образом я могу синхронизировать c старый ftp-сервер, где у меня нет доступа для его обновления

ERROR:pyftpsync:Could not parse 'CAM01'
ERROR:pyftpsync:Ignoring 226 response for ftp.delete() lockfile
Traceback (most recent call last):
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/test/python/br/org/pti/celtab/sima/isd/collector/device/iapar/ftp/westmeteorological/CollectorControllerTest.py", line 9, in <module>
    main()
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/test/python/br/org/pti/celtab/sima/isd/collector/device/iapar/ftp/westmeteorological/CollectorControllerTest.py", line 6, in main
    oCollectorController.collect()
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/main/python/br/org/pti/celtab/sima/isd/collector/device/iapar/ftp/westmeteorological/CollectorController.py", line 22, in collect
    oCoreFtpSync.downloader()
  File "/opt/sima/src/sima-isd/sima-isd-collector/src/main/python/br/org/pti/celtab/sima/isd/collector/core/CoreFtpSync.py", line 37, in downloader
    s.run()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 1268, in run
    res = super(DownloadSynchronizer, self).run()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 827, in run
    res = super(BiDirSynchronizer, self).run()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 213, in run
    res = self._sync_dir()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/synchronizers.py", line 485, in _sync_dir
    remote_entries = self.remote.get_dir()
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 514, in get_dir
    self._ftp_retrlines_native("NLST", _addline, encoding)
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 772, in _ftp_retrlines_native
    self.ftp.retrbinary(command, _on_read_chunk)
  File "/usr/local/lib/python3.8/ftplib.py", line 430, in retrbinary
    callback(data)
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 766, in _on_read_chunk
    _on_read_line(item)  # + LF)
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 752, in _on_read_line
    callback(status, line_decoded)
  File "/usr/local/lib/python3.8/site-packages/ftpsync/ftp_target.py", line 504, in _addline
    raise NotImplementedError(
NotImplementedError: MLSD returned unsupported type: None

может кто-нибудь подсказать мне, как решить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...