aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <root@pigstarter.de>2014-04-25 15:54:08 +0200
committermakefu <root@pigstarter.de>2014-04-25 15:54:08 +0200
commit8284fc3b99e4647098e5a97c237dd77dcd68fb65 (patch)
treed1fc8cb18cae6def5a46589e7c815b7ddce7f52d
parentaafb675679b0db733e391bb64f5f3ce0aef4a741 (diff)
make exceptions more clear
-rwxr-xr-xtitlebot/commands/undo10
-rwxr-xr-xtitlebot/commands/up18
-rw-r--r--titlebot/titlebot.py2
3 files changed, 20 insertions, 10 deletions
diff --git a/titlebot/commands/undo b/titlebot/commands/undo
index bebd57a..a66de67 100755
--- a/titlebot/commands/undo
+++ b/titlebot/commands/undo
@@ -16,12 +16,16 @@ except:
undos vote of one or more entries based on .list""")
sys.exit(1)
voter = environ['_prefix']
+voter_name = environ['_from']
for vote in votes:
try:
vote = int(vote)
- del(db[vote]['votes'][voter] )
- print("undid vote by %s for #%d" %(environ['_from'],vote))
+ if not voter in db[vote]['votes']:
+ print("%s, you never voted for '%s'!"%(voter_name,db[vote]['title']))
+ else:
+ del(db[vote]['votes'][voter] )
+ print("%s undid vote for '%s'" %(voter_name,db[vote]['title'] ))
except:
- print("undo voting for #%s failed" %vote)
+ print("%s undo voting for #%d failed" %(voter_name,vote))
poll.save_db(f,db)
diff --git a/titlebot/commands/up b/titlebot/commands/up
index c9de122..0a48bdb 100755
--- a/titlebot/commands/up
+++ b/titlebot/commands/up
@@ -9,19 +9,25 @@ import poll
f = 'suggestions.json'
db = poll.load_db(f)
votes = []
-try:
- votes = sys.argv[1:]
-except:
+votes = sys.argv[1:]
+if not votes:
print("""usage: up number (...)
upvotes one or more entries based on .list""")
sys.exit(1)
voter = environ['_prefix']
+voter_name =environ['_from']
for vote in votes:
try:
vote = int(vote)
- db[vote]['votes'][voter] = 1
+ if vote < 0:
+ raise Exception()
+ if voter in db[vote]['votes']:
+ print("%s, you already have voted for '%s'"%(voter_name,db[vote]['title']) )
+ else:
+ db[vote]['votes'][voter] = 1
+ print("%s voted for '%s'"%(voter_name,db[vote]['title']))
except:
- print("voting for #%s failed" %vote)
-print("Thanks for your votes %s"%environ['_from'])
+ print("%s, voting for #%s failed" %(voter_name,vote))
+
poll.save_db(f,db)
diff --git a/titlebot/titlebot.py b/titlebot/titlebot.py
index 05ff612..6a3b2f7 100644
--- a/titlebot/titlebot.py
+++ b/titlebot/titlebot.py
@@ -1,6 +1,6 @@
from os import environ,mkdir
from os.path import abspath, expanduser
-
+import re
debug = False
# CAVEAT name should not contains regex magic