git-svn-id: https://s3tools.svn.sourceforge.net/svnroot/s3tools/s3cmd/trunk@286 830e0280-6d2a-0410-9c65-932aecc39d9d
Michal Ludvig authored on 2008/12/12 09:31:38... | ... |
@@ -1,3 +1,8 @@ |
1 |
+2008-12-12 Michal Ludvig <michal@logix.cz> |
|
2 |
+ |
|
3 |
+ * s3cmd: Better Exception output. Print sys.path on ImportError, |
|
4 |
+ don't print backtrace on KeyboardInterrupt |
|
5 |
+ |
|
1 | 6 |
2008-12-11 Michal Ludvig <michal@logix.cz> |
2 | 7 |
|
3 | 8 |
* s3cmd: Support for multiple sources in 'get' command. |
... | ... |
@@ -1215,9 +1215,14 @@ if __name__ == '__main__': |
1215 | 1215 |
|
1216 | 1216 |
main() |
1217 | 1217 |
sys.exit(0) |
1218 |
+ |
|
1218 | 1219 |
except SystemExit, e: |
1219 | 1220 |
sys.exit(e.code) |
1220 | 1221 |
|
1222 |
+ except KeyboardInterrupt: |
|
1223 |
+ sys.stderr.write("See ya!\n") |
|
1224 |
+ sys.exit(1) |
|
1225 |
+ |
|
1221 | 1226 |
except Exception, e: |
1222 | 1227 |
sys.stderr.write(""" |
1223 | 1228 |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
... | ... |
@@ -1227,10 +1232,23 @@ if __name__ == '__main__': |
1227 | 1227 |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
1228 | 1228 |
|
1229 | 1229 |
""") |
1230 |
- sys.stderr.write("S3cmd: %s\n" % PkgInfo.version) |
|
1231 |
- sys.stderr.write("Python: %s\n" % sys.version.replace('\n', ' ')) |
|
1230 |
+ tb = traceback.format_exc(sys.exc_info()) |
|
1231 |
+ e_class = str(e.__class__) |
|
1232 |
+ e_class = e_class[e_class.rfind(".")+1 : -2] |
|
1233 |
+ sys.stderr.write("Problem: %s: %s\n" % (e_class, str(e))) |
|
1234 |
+ try: |
|
1235 |
+ sys.stderr.write("S3cmd: %s\n" % PkgInfo.version) |
|
1236 |
+ except NameError: |
|
1237 |
+ sys.stderr.write("S3cmd: unknown version. Module import problem?\n") |
|
1238 |
+ sys.stderr.write("Python: %s\n" % sys.version.replace('\n', ' ')) |
|
1232 | 1239 |
sys.stderr.write("\n") |
1233 |
- sys.stderr.write(traceback.format_exc(sys.exc_info())+"\n") |
|
1240 |
+ sys.stderr.write(tb) |
|
1241 |
+ if type(e) == ImportError: |
|
1242 |
+ sys.stderr.write("\n") |
|
1243 |
+ sys.stderr.write("Your sys.path contains these entries:\n") |
|
1244 |
+ for path in sys.path: |
|
1245 |
+ sys.stderr.write("\t%s\n" % path) |
|
1246 |
+ sys.stderr.write("Now the question is where has S3/S3.py been installed?\n") |
|
1234 | 1247 |
sys.stderr.write(""" |
1235 | 1248 |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
1236 | 1249 |
An unexpected error has occurred. |