aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libbe/command/serve.py10
-rw-r--r--libbe/storage/http.py4
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')