summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-04-01 14:44:07 +0200
committerPeter Wu <peter@lekensteyn.nl>2014-04-01 14:44:07 +0200
commit82b95e2893419722aaefed6ad203b4bbc444eda9 (patch)
treec99c808c379654ea616d977a289bc42131f9bfbe
parent28d9c654389b7b2a3e9c79c9369181f1b7c3da81 (diff)
downloadscripts-82b95e2893419722aaefed6ad203b4bbc444eda9.tar.gz
ftp-list: do not break on permission error
-rwxr-xr-xftp-list.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/ftp-list.py b/ftp-list.py
index 8aa073c..e56b7ca 100755
--- a/ftp-list.py
+++ b/ftp-list.py
@@ -9,7 +9,7 @@
from __future__ import print_function
import sys
-from ftplib import FTP
+from ftplib import FTP, all_errors
import re
from datetime import datetime, timezone, date
@@ -176,7 +176,11 @@ with FTP() as ftp:
while dirs:
dir = dirs.pop()
- ftp.cwd(dir)
+ try:
+ ftp.cwd(dir)
+ except all_errors as e:
+ print("Failed to chdir to " + dir + ":" + str(e), file=sys.stderr)
+ continue
print("Directory", ftp.pwd())
if use_list:
ftp.retrlines('LIST', get_ls_processor(dir))