diff options
-rw-r--r-- | libbe/command/serve.py | 10 | ||||
-rw-r--r-- | libbe/storage/http.py | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/libbe/command/serve.py b/libbe/command/serve.py index 555a7ab..e98787f 100644 --- a/libbe/command/serve.py +++ b/libbe/command/serve.py @@ -214,15 +214,19 @@ class BERequestHandler (server.BaseHTTPRequestHandler): self.send_error(406, 'Missing query key summary') return (None,None) summary = data['summary'] - if not body in data or data['body'] == 'None': + if not 'body' in data or data['body'] == 'None': data['body'] = None body = data['body'] - if not allow_empty in data \ + if not 'allow_empty' in data \ or data['allow_empty'] == 'True': allow_empty = True else: allow_empty = False - self.s.commit(summary, body, allow_empty) + try: + self.s.commit(summary, body, allow_empty) + except libbe.storage.EmptyCommit, e: + self.send_error(HTTP_USER_ERROR, 'EmptyCommit') + return (None,None) self.send_response(200) return (None,None) diff --git a/libbe/storage/http.py b/libbe/storage/http.py index 98a824d..78fe893 100644 --- a/libbe/storage/http.py +++ b/libbe/storage/http.py @@ -191,7 +191,7 @@ class HTTP (base.VersionedStorage): except InvalidURL, e: if not (hasattr(e.error, 'code') and e.error.code in HTTP_VALID): raise - if self.e.error.code == HTTP_USER_ERROR: + if e.error.code == HTTP_USER_ERROR: raise base.EmptyCommit raise base.InvalidID(id) return page.rstrip('\n') @@ -222,7 +222,7 @@ class HTTP (base.VersionedStorage): except InvalidURL, e: if not (hasattr(e.error, 'code') and e.error.code in HTTP_VALID): raise - if self.e.error.code == HTTP_USER_ERROR: + if e.error.code == HTTP_USER_ERROR: raise base.InvalidRevision(index) raise base.InvalidID(id) return page.rstrip('\n') |