diff options
author | Cédric Picard <cedric.picard@efrei.net> | 2014-11-29 10:41:39 +0100 |
---|---|---|
committer | Cédric Picard <cedric.picard@efrei.net> | 2014-11-29 10:41:39 +0100 |
commit | f56e87f100989554cd17ddd8dbf2d666a56ed468 (patch) | |
tree | 1bcf76ea96250bd13e4821d02989ed9f3a0f7ac2 | |
parent | d3d7c9c6e1bd12a6229fc03595911dbddb7a09f9 (diff) | |
download | pasteme-f56e87f100989554cd17ddd8dbf2d666a56ed468.tar.gz pasteme-f56e87f100989554cd17ddd8dbf2d666a56ed468.tar.bz2 pasteme-f56e87f100989554cd17ddd8dbf2d666a56ed468.zip |
Better error management
-rwxr-xr-x | scripts/pastit.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/scripts/pastit.py b/scripts/pastit.py index 63e5ab3..29aa3cd 100755 --- a/scripts/pastit.py +++ b/scripts/pastit.py @@ -25,8 +25,8 @@ from docopt import docopt def post(text, url): try: req = requests.post(url, data={"content":text}) - except requests.exceptions.ConnectionError as e: - sys.exit(e) + except BaseException as e: + manage(e, url) return req.url @@ -36,8 +36,8 @@ def get(url): try: req = requests.get(url) - except requests.exceptions.ConnectionError as e: - sys.exit(e) + except BaseException as e: + manage(e, url) if req.status_code == 404: return "Paste not found" @@ -47,6 +47,20 @@ def get(url): return req.text +def manage(excep, url=None): + try: + raise excep + except requests.exceptions.ConnectionError as e: + sys.exit(e) + except (requests.exceptions.InvalidURL, + requests.exceptions.InvalidSchema) as e: + print("Invalid URL: %s" % url, file=sys.stderr) + if not url.startswith("http"): + print("Perhaps you meant http://%s" % url, file=sys.stderr) + sys.exit(1) + + + def main(): args = docopt(__doc__) |